Use BB-like EBB in filetests/isa/x86/*.clif
This commit is contained in:
committed by
Nicolas B. Pierron
parent
77eb34e20f
commit
7b36cb58a0
@@ -481,21 +481,44 @@ ebb0(v0: f32 [%xmm0]):
|
||||
ebb1:
|
||||
; asm: jnp ebb1
|
||||
brff ord v1, ebb1 ; bin: 7b fe
|
||||
jump ebb2
|
||||
|
||||
ebb2:
|
||||
; asm: jp ebb1
|
||||
brff uno v1, ebb1 ; bin: 7a fc
|
||||
jump ebb3
|
||||
|
||||
ebb3:
|
||||
; asm: jne ebb1
|
||||
brff one v1, ebb1 ; bin: 75 fa
|
||||
jump ebb4
|
||||
|
||||
ebb4:
|
||||
; asm: je ebb1
|
||||
brff ueq v1, ebb1 ; bin: 74 f8
|
||||
jump ebb5
|
||||
|
||||
ebb5:
|
||||
; asm: ja ebb1
|
||||
brff gt v1, ebb1 ; bin: 77 f6
|
||||
jump ebb6
|
||||
|
||||
ebb6:
|
||||
; asm: jae ebb1
|
||||
brff ge v1, ebb1 ; bin: 73 f4
|
||||
jump ebb7
|
||||
|
||||
ebb7:
|
||||
; asm: jb ebb1
|
||||
brff ult v1, ebb1 ; bin: 72 f2
|
||||
jump ebb8
|
||||
|
||||
ebb8:
|
||||
; asm: jbe ebb1
|
||||
brff ule v1, ebb1 ; bin: 76 f0
|
||||
jump ebb9
|
||||
|
||||
ebb9:
|
||||
; asm: jp .+4; ud2
|
||||
trapff ord v1, user0 ; bin: 7a 02 user0 0f 0b
|
||||
; asm: jnp .+4; ud2
|
||||
|
||||
@@ -472,12 +472,21 @@ ebb0:
|
||||
; asm: testl %ecx, %ecx
|
||||
; asm: je ebb1
|
||||
brz v1, ebb1 ; bin: 85 c9 74 0e
|
||||
fallthrough ebb3
|
||||
|
||||
ebb3:
|
||||
; asm: testl %esi, %esi
|
||||
; asm: je ebb1
|
||||
brz v2, ebb1 ; bin: 85 f6 74 0a
|
||||
fallthrough ebb4
|
||||
|
||||
ebb4:
|
||||
; asm: testl %ecx, %ecx
|
||||
; asm: jne ebb1
|
||||
brnz v1, ebb1 ; bin: 85 c9 75 06
|
||||
fallthrough ebb5
|
||||
|
||||
ebb5:
|
||||
; asm: testl %esi, %esi
|
||||
; asm: jne ebb1
|
||||
brnz v2, ebb1 ; bin: 85 f6 75 02
|
||||
@@ -506,16 +515,27 @@ ebb0:
|
||||
; asm: testl $0xff, %edi
|
||||
; asm: je ebb1
|
||||
brz v3, ebb1 ; bin: f7 c7 000000ff 0f 84 00000015
|
||||
fallthrough ebb2
|
||||
|
||||
ebb2:
|
||||
; asm: testb %bl, %bl
|
||||
; asm: je ebb1
|
||||
brz v4, ebb1 ; bin: 84 db 74 11
|
||||
fallthrough ebb3
|
||||
|
||||
ebb3:
|
||||
; asm: testl $0xff, %edi
|
||||
; asm: jne ebb1
|
||||
brnz v3, ebb1 ; bin: f7 c7 000000ff 0f 85 00000005
|
||||
fallthrough ebb4
|
||||
|
||||
ebb4:
|
||||
; asm: testb %bl, %bl
|
||||
; asm: jne ebb1
|
||||
brnz v4, ebb1 ; bin: 84 db 75 01
|
||||
fallthrough ebb5
|
||||
|
||||
ebb5:
|
||||
return
|
||||
|
||||
ebb1:
|
||||
@@ -537,24 +557,54 @@ ebb1:
|
||||
|
||||
; asm: je ebb1
|
||||
brif eq v11, ebb1 ; bin: 74 fa
|
||||
jump ebb2
|
||||
|
||||
ebb2:
|
||||
; asm: jne ebb1
|
||||
brif ne v11, ebb1 ; bin: 75 f8
|
||||
jump ebb3
|
||||
|
||||
ebb3:
|
||||
; asm: jl ebb1
|
||||
brif slt v11, ebb1 ; bin: 7c f6
|
||||
jump ebb4
|
||||
|
||||
ebb4:
|
||||
; asm: jge ebb1
|
||||
brif sge v11, ebb1 ; bin: 7d f4
|
||||
jump ebb5
|
||||
|
||||
ebb5:
|
||||
; asm: jg ebb1
|
||||
brif sgt v11, ebb1 ; bin: 7f f2
|
||||
jump ebb6
|
||||
|
||||
ebb6:
|
||||
; asm: jle ebb1
|
||||
brif sle v11, ebb1 ; bin: 7e f0
|
||||
jump ebb7
|
||||
|
||||
ebb7:
|
||||
; asm: jb ebb1
|
||||
brif ult v11, ebb1 ; bin: 72 ee
|
||||
jump ebb8
|
||||
|
||||
ebb8:
|
||||
; asm: jae ebb1
|
||||
brif uge v11, ebb1 ; bin: 73 ec
|
||||
jump ebb9
|
||||
|
||||
ebb9:
|
||||
; asm: ja ebb1
|
||||
brif ugt v11, ebb1 ; bin: 77 ea
|
||||
jump ebb10
|
||||
|
||||
ebb10:
|
||||
; asm: jbe ebb1
|
||||
brif ule v11, ebb1 ; bin: 76 e8
|
||||
jump ebb11
|
||||
|
||||
ebb11:
|
||||
|
||||
; asm: sete %bl
|
||||
[-,%rbx] v20 = trueif eq v11 ; bin: 0f 94 c3
|
||||
|
||||
@@ -542,21 +542,44 @@ ebb0(v0: f32 [%xmm0]):
|
||||
ebb1:
|
||||
; asm: jnp ebb1
|
||||
brff ord v1, ebb1 ; bin: 7b fe
|
||||
jump ebb2
|
||||
|
||||
ebb2:
|
||||
; asm: jp ebb1
|
||||
brff uno v1, ebb1 ; bin: 7a fc
|
||||
jump ebb3
|
||||
|
||||
ebb3:
|
||||
; asm: jne ebb1
|
||||
brff one v1, ebb1 ; bin: 75 fa
|
||||
jump ebb4
|
||||
|
||||
ebb4:
|
||||
; asm: je ebb1
|
||||
brff ueq v1, ebb1 ; bin: 74 f8
|
||||
jump ebb5
|
||||
|
||||
ebb5:
|
||||
; asm: ja ebb1
|
||||
brff gt v1, ebb1 ; bin: 77 f6
|
||||
jump ebb6
|
||||
|
||||
ebb6:
|
||||
; asm: jae ebb1
|
||||
brff ge v1, ebb1 ; bin: 73 f4
|
||||
jump ebb7
|
||||
|
||||
ebb7:
|
||||
; asm: jb ebb1
|
||||
brff ult v1, ebb1 ; bin: 72 f2
|
||||
jump ebb8
|
||||
|
||||
ebb8:
|
||||
; asm: jbe ebb1
|
||||
brff ule v1, ebb1 ; bin: 76 f0
|
||||
jump ebb9
|
||||
|
||||
ebb9:
|
||||
; asm: jp .+4; ud2
|
||||
trapff ord v1, user0 ; bin: 7a 02 user0 0f 0b
|
||||
; asm: jnp .+4; ud2
|
||||
|
||||
@@ -690,18 +690,33 @@ ebb0:
|
||||
; asm: testq %rcx, %rcx
|
||||
; asm: je ebb1
|
||||
brz v1, ebb1 ; bin: 48 85 c9 74 1b
|
||||
fallthrough ebb3
|
||||
|
||||
ebb3:
|
||||
; asm: testq %rsi, %rsi
|
||||
; asm: je ebb1
|
||||
brz v2, ebb1 ; bin: 48 85 f6 74 16
|
||||
fallthrough ebb4
|
||||
|
||||
ebb4:
|
||||
; asm: testq %r10, %r10
|
||||
; asm: je ebb1
|
||||
brz v3, ebb1 ; bin: 4d 85 d2 74 11
|
||||
fallthrough ebb5
|
||||
|
||||
ebb5:
|
||||
; asm: testq %rcx, %rcx
|
||||
; asm: jne ebb1
|
||||
brnz v1, ebb1 ; bin: 48 85 c9 75 0c
|
||||
fallthrough ebb6
|
||||
|
||||
ebb6:
|
||||
; asm: testq %rsi, %rsi
|
||||
; asm: jne ebb1
|
||||
brnz v2, ebb1 ; bin: 48 85 f6 75 07
|
||||
fallthrough ebb7
|
||||
|
||||
ebb7:
|
||||
; asm: testq %r10, %r10
|
||||
; asm: jne ebb1
|
||||
brnz v3, ebb1 ; bin: 4d 85 d2 75 02
|
||||
@@ -733,24 +748,54 @@ ebb1:
|
||||
|
||||
; asm: je ebb1
|
||||
brif eq v11, ebb1 ; bin: 74 f8
|
||||
jump ebb2
|
||||
|
||||
ebb2:
|
||||
; asm: jne ebb1
|
||||
brif ne v11, ebb1 ; bin: 75 f6
|
||||
jump ebb3
|
||||
|
||||
ebb3:
|
||||
; asm: jl ebb1
|
||||
brif slt v11, ebb1 ; bin: 7c f4
|
||||
jump ebb4
|
||||
|
||||
ebb4:
|
||||
; asm: jge ebb1
|
||||
brif sge v11, ebb1 ; bin: 7d f2
|
||||
jump ebb5
|
||||
|
||||
ebb5:
|
||||
; asm: jg ebb1
|
||||
brif sgt v11, ebb1 ; bin: 7f f0
|
||||
jump ebb6
|
||||
|
||||
ebb6:
|
||||
; asm: jle ebb1
|
||||
brif sle v11, ebb1 ; bin: 7e ee
|
||||
jump ebb7
|
||||
|
||||
ebb7:
|
||||
; asm: jb ebb1
|
||||
brif ult v11, ebb1 ; bin: 72 ec
|
||||
jump ebb8
|
||||
|
||||
ebb8:
|
||||
; asm: jae ebb1
|
||||
brif uge v11, ebb1 ; bin: 73 ea
|
||||
jump ebb9
|
||||
|
||||
ebb9:
|
||||
; asm: ja ebb1
|
||||
brif ugt v11, ebb1 ; bin: 77 e8
|
||||
jump ebb10
|
||||
|
||||
ebb10:
|
||||
; asm: jbe ebb1
|
||||
brif ule v11, ebb1 ; bin: 76 e6
|
||||
jump ebb11
|
||||
|
||||
ebb11:
|
||||
|
||||
; asm: sete %bl
|
||||
[-,%rbx] v20 = trueif eq v11 ; bin: 0f 94 c3
|
||||
@@ -1248,18 +1293,33 @@ ebb0:
|
||||
; asm: testl %ecx, %ecx
|
||||
; asm: je ebb1x
|
||||
brz v1, ebb1 ; bin: 85 c9 74 18
|
||||
fallthrough ebb3
|
||||
|
||||
ebb3:
|
||||
; asm: testl %esi, %esi
|
||||
; asm: je ebb1x
|
||||
brz v2, ebb1 ; bin: 85 f6 74 14
|
||||
fallthrough ebb4
|
||||
|
||||
ebb4:
|
||||
; asm: testl %r10d, %r10d
|
||||
; asm: je ebb1x
|
||||
brz v3, ebb1 ; bin: 45 85 d2 74 0f
|
||||
fallthrough ebb5
|
||||
|
||||
ebb5:
|
||||
; asm: testl %ecx, %ecx
|
||||
; asm: jne ebb1x
|
||||
brnz v1, ebb1 ; bin: 85 c9 75 0b
|
||||
fallthrough ebb6
|
||||
|
||||
ebb6:
|
||||
; asm: testl %esi, %esi
|
||||
; asm: jne ebb1x
|
||||
brnz v2, ebb1 ; bin: 85 f6 75 07
|
||||
fallthrough ebb7
|
||||
|
||||
ebb7:
|
||||
; asm: testl %r10d, %r10d
|
||||
; asm: jne ebb1x
|
||||
brnz v3, ebb1 ; bin: 45 85 d2 75 02
|
||||
|
||||
@@ -213,20 +213,23 @@ function %divert(i32) -> i32 system_v {
|
||||
ebb0(v0: i32):
|
||||
v2 = iconst.i32 0
|
||||
v3 = iconst.i32 1
|
||||
jump ebb3(v0, v3, v2)
|
||||
jump ebb1(v0, v3, v2)
|
||||
|
||||
ebb3(v4: i32, v5: i32, v6: i32):
|
||||
brz v4, ebb4
|
||||
ebb1(v4: i32, v5: i32, v6: i32):
|
||||
brz v4, ebb3
|
||||
fallthrough ebb2
|
||||
|
||||
ebb2:
|
||||
v7 = iadd v5, v6
|
||||
v8 = iadd_imm v4, -1
|
||||
jump ebb3(v8, v7, v5)
|
||||
jump ebb1(v8, v7, v5)
|
||||
|
||||
ebb4:
|
||||
ebb3:
|
||||
return v5
|
||||
}
|
||||
|
||||
; check: function %divert
|
||||
; check: regmove v5, %rcx -> %rbx
|
||||
; check: regmove.i32 v5, %rcx -> %rbx
|
||||
; check: [Op1popq#58,%rbx] v15 = x86_pop.i64
|
||||
|
||||
; Stack limit checking
|
||||
|
||||
@@ -55,6 +55,9 @@ function u0:2691(i32 [%rdi], i32 [%rsi], i64 vmctx [%r14]) -> i64 uext [%rax] ba
|
||||
@004c [Op1r_id#4081,%rcx] v37 = band_imm v35, 255
|
||||
[Op1rcmp_ib#7083,%rflags] v97 = ifcmp_imm v37, 26
|
||||
@0050 [Op1brib#70] brif sge v97, ebb6
|
||||
@0050 [-] fallthrough ebb10
|
||||
|
||||
ebb10:
|
||||
[Op1umr#89,%rcx] v101 = copy v18
|
||||
@0054 [Op1jmpb#eb] jump ebb5(v18, v101)
|
||||
|
||||
@@ -82,6 +85,9 @@ function u0:2691(i32 [%rdi], i32 [%rsi], i64 vmctx [%r14]) -> i64 uext [%rax] ba
|
||||
[Op1rcmp_ib#7083,%rflags] v98 = ifcmp_imm v63, 26
|
||||
@0084 [RexOp1rmov#89] regmove v47, %rdi -> %rbx
|
||||
@0084 [Op1brib#70] brif sge v98, ebb8
|
||||
@0084 [-] fallthrough ebb11
|
||||
|
||||
ebb11:
|
||||
[RexOp1umr#89,%rdx] v103 = copy.i32 v29
|
||||
@0088 [Op1jmpb#eb] jump ebb7(v29, v10, v21, v103)
|
||||
|
||||
@@ -99,6 +105,9 @@ function u0:2691(i32 [%rdi], i32 [%rsi], i64 vmctx [%r14]) -> i64 uext [%rax] ba
|
||||
@0098 [Op2urm_noflags_abcd#4b6,%rbx] v77 = bint.i32 v76
|
||||
@0099 [RexOp1rr#21,%r10] v78 = band.i32 v50, v77
|
||||
@009a [RexOp1tjccb#74] brz v78, ebb9
|
||||
@009a [-] fallthrough ebb12
|
||||
|
||||
ebb12:
|
||||
[RexOp1umr#89,%rcx] v99 = copy v81
|
||||
[Op1umr#89,%rdx] v100 = copy v79
|
||||
@00a4 [RexOp1rmov#89] regmove v100, %rdx -> %rdi
|
||||
|
||||
@@ -8,6 +8,9 @@ ebb0(v0: i32 [%rdi]):
|
||||
[Op2seti_abcd#490,%rax] v1 = trueif eq v3
|
||||
[RexOp2urm_noflags#4b6,%rax] v2 = bint.i32 v1
|
||||
[Op1brib#70] brif eq v3, ebb1
|
||||
[-] fallthrough ebb2
|
||||
|
||||
ebb2:
|
||||
[Op1ret#c3] return v2
|
||||
|
||||
ebb1:
|
||||
|
||||
Reference in New Issue
Block a user