x86 recipes: emit StackOverflow trap for all sp-relative loads and stores (#325)

* x86 recipes: emit StackOverflow trap for all sp-relative loads and stores

* x86 recipes: emit StackOverflow trap for push and pop

* x86 binary filetests: add stk_ovf trap annotations
This commit is contained in:
Pat Hickey
2018-05-03 18:09:07 -07:00
committed by Dan Gohman
parent 846a71d93b
commit bb612af37a
6 changed files with 85 additions and 72 deletions

View File

@@ -176,19 +176,19 @@ ebb0:
; Spill / Fill.
; asm: movss %xmm5, 1032(%esp)
[-,ss1] v200 = spill v100 ; bin: f3 0f 11 ac 24 00000408
[-,ss1] v200 = spill v100 ; bin: stk_ovf f3 0f 11 ac 24 00000408
; asm: movss %xmm2, 1032(%esp)
[-,ss1] v201 = spill v101 ; bin: f3 0f 11 94 24 00000408
[-,ss1] v201 = spill v101 ; bin: stk_ovf f3 0f 11 94 24 00000408
; asm: movss 1032(%esp), %xmm5
[-,%xmm5] v210 = fill v200 ; bin: f3 0f 10 ac 24 00000408
[-,%xmm5] v210 = fill v200 ; bin: stk_ovf f3 0f 10 ac 24 00000408
; asm: movss 1032(%esp), %xmm2
[-,%xmm2] v211 = fill v201 ; bin: f3 0f 10 94 24 00000408
[-,%xmm2] v211 = fill v201 ; bin: stk_ovf f3 0f 10 94 24 00000408
; asm: movss %xmm5, 1032(%esp)
regspill v100, %xmm5 -> ss1 ; bin: f3 0f 11 ac 24 00000408
regspill v100, %xmm5 -> ss1 ; bin: stk_ovf f3 0f 11 ac 24 00000408
; asm: movss 1032(%esp), %xmm5
regfill v100, ss1 -> %xmm5 ; bin: f3 0f 10 ac 24 00000408
regfill v100, ss1 -> %xmm5 ; bin: stk_ovf f3 0f 10 ac 24 00000408
; Comparisons.
;
@@ -391,19 +391,19 @@ ebb0:
; Spill / Fill.
; asm: movsd %xmm5, 1032(%esp)
[-,ss1] v200 = spill v100 ; bin: f2 0f 11 ac 24 00000408
[-,ss1] v200 = spill v100 ; bin: stk_ovf f2 0f 11 ac 24 00000408
; asm: movsd %xmm2, 1032(%esp)
[-,ss1] v201 = spill v101 ; bin: f2 0f 11 94 24 00000408
[-,ss1] v201 = spill v101 ; bin: stk_ovf f2 0f 11 94 24 00000408
; asm: movsd 1032(%esp), %xmm5
[-,%xmm5] v210 = fill v200 ; bin: f2 0f 10 ac 24 00000408
[-,%xmm5] v210 = fill v200 ; bin: stk_ovf f2 0f 10 ac 24 00000408
; asm: movsd 1032(%esp), %xmm2
[-,%xmm2] v211 = fill v201 ; bin: f2 0f 10 94 24 00000408
[-,%xmm2] v211 = fill v201 ; bin: stk_ovf f2 0f 10 94 24 00000408
; asm: movsd %xmm5, 1032(%esp)
regspill v100, %xmm5 -> ss1 ; bin: f2 0f 11 ac 24 00000408
regspill v100, %xmm5 -> ss1 ; bin: stk_ovf f2 0f 11 ac 24 00000408
; asm: movsd 1032(%esp), %xmm5
regfill v100, ss1 -> %xmm5 ; bin: f2 0f 10 ac 24 00000408
regfill v100, ss1 -> %xmm5 ; bin: stk_ovf f2 0f 10 ac 24 00000408
; Comparisons.
;