Fix the bitwidth of the remaining fields.
[oota-llvm.git] / test / MC / AsmParser / directive_seh.s
index 8b27542fb3286e21429a3e3dea827e4714eec6d5..98fc6061f9dc331355532a8567947c78614926fc 100644 (file)
@@ -5,8 +5,16 @@
 # CHECK: .seh_stackalloc 24
 # CHECK: .seh_savereg 6, 16
 # CHECK: .seh_savexmm 8, 0
+# CHECK: .seh_pushreg 3
+# CHECK: .seh_setframe 3, 0
 # CHECK: .seh_endprologue
 # CHECK: .seh_handler __C_specific_handler, @except
+# CHECK-NOT: .section{{.*}}.xdata
+# CHECK: .seh_handlerdata
+# CHECK: .text
+# CHECK: .seh_startchained
+# CHECK: .seh_endprologue
+# CHECK: .seh_endchained
 # CHECK: .seh_endproc
 
     .text
@@ -21,8 +29,20 @@ func:
     .seh_savereg %rsi, 16
     movups %xmm8, (%rsp)
     .seh_savexmm %xmm8, 0
+    pushq %rbx
+    .seh_pushreg 3
+    mov %rsp, %rbx
+    .seh_setframe 3, 0
     .seh_endprologue
     .seh_handler __C_specific_handler, @except
+    .seh_handlerdata
+    .long 0
+    .text
+    .seh_startchained
+    .seh_endprologue
+    .seh_endchained
+    lea (%rbx), %rsp
+    pop %rbx
     addq $24, %rsp
     ret
     .seh_endproc