Use the target-lexicon crate.
This switches from a custom list of architectures to use the target-lexicon crate. - "set is_64bit=1; isa x86" is replaced with "target x86_64", and similar for other architectures, and the `is_64bit` flag is removed entirely. - The `is_compressed` flag is removed too; it's no longer being used to control REX prefixes on x86-64, ARM and Thumb are separate architectures in target-lexicon, and we can figure out how to select RISC-V compressed encodings when we're ready.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
; Test the legalization of function signatures for RV32E.
|
||||
test legalizer
|
||||
isa riscv enable_e
|
||||
target riscv32 enable_e
|
||||
|
||||
; regex: V=v\d+
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
; Test the legalization of function signatures.
|
||||
test legalizer
|
||||
isa riscv
|
||||
target riscv32
|
||||
|
||||
; regex: V=v\d+
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
; Binary emission of 32-bit code.
|
||||
test binemit
|
||||
isa riscv
|
||||
target riscv32
|
||||
|
||||
function %RV32I(i32 link [%x1]) -> i32 link [%x1] {
|
||||
sig0 = ()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test legalizer
|
||||
isa riscv supports_m=1
|
||||
target riscv32 supports_m=1
|
||||
|
||||
function %int32(i32, i32) {
|
||||
ebb0(v1: i32, v2: i32):
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
; Test the legalization of i32 instructions that don't have RISC-V versions.
|
||||
test legalizer
|
||||
|
||||
set is_64bit=0
|
||||
isa riscv supports_m=1
|
||||
target riscv32 supports_m=1
|
||||
|
||||
set is_64bit=1
|
||||
isa riscv supports_m=1
|
||||
target riscv64 supports_m=1
|
||||
|
||||
; regex: V=v\d+
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
; Test legalizer's handling of ABI boundaries.
|
||||
test legalizer
|
||||
isa riscv
|
||||
target riscv32
|
||||
|
||||
; regex: V=v\d+
|
||||
; regex: SS=ss\d+
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
; Test the legalization of i64 arithmetic instructions.
|
||||
test legalizer
|
||||
isa riscv supports_m=1
|
||||
target riscv32 supports_m=1
|
||||
|
||||
; regex: V=v\d+
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
; Test the parser's support for encoding annotations.
|
||||
test legalizer
|
||||
isa riscv
|
||||
target riscv32
|
||||
|
||||
function %parse_encoding(i32 [%x5]) -> i32 [%x10] {
|
||||
; check: function %parse_encoding(i32 [%x5], i32 link [%x1]) -> i32 [%x10], i32 link [%x1] fast {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
; Test tracking of register moves.
|
||||
test binemit
|
||||
isa riscv
|
||||
target riscv32
|
||||
|
||||
function %regmoves(i32 link [%x1]) -> i32 link [%x1] {
|
||||
ebb0(v9999: i32):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
; Test the legalization of EBB arguments that are split.
|
||||
test legalizer
|
||||
isa riscv
|
||||
target riscv32
|
||||
|
||||
; regex: V=v\d+
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test verifier
|
||||
isa riscv
|
||||
target riscv32
|
||||
|
||||
function %RV32I(i32 link [%x1]) -> i32 link [%x1] {
|
||||
fn0 = %foo()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test regalloc
|
||||
isa x86
|
||||
target i686
|
||||
|
||||
; %rdi can't be used in a movsbl instruction, so test that the register
|
||||
; allocator can move it to a register that can be.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test compile
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %foo(i64, i64, i64, i32) -> b1 system_v {
|
||||
ebb3(v0: i64, v1: i64, v2: i64, v3: i32):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
; Test the legalization of function signatures.
|
||||
test legalizer
|
||||
isa x86
|
||||
target i686
|
||||
|
||||
; regex: V=v\d+
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
; Test the legalization of function signatures.
|
||||
test legalizer
|
||||
set is_64bit
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
; regex: V=v\d+
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
test binemit
|
||||
set opt_level=best
|
||||
set allones_funcaddrs
|
||||
isa x86 haswell
|
||||
target i686 haswell
|
||||
|
||||
; The binary encodings can be verified with the command:
|
||||
;
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
; binary emission of 64-bit code.
|
||||
test binemit
|
||||
set is_64bit
|
||||
set opt_level=best
|
||||
set allones_funcaddrs
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; The binary encodings can be verified with the command:
|
||||
;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
|
||||
test compile
|
||||
set is_64bit
|
||||
isa x86 baseline
|
||||
target x86_64 baseline
|
||||
|
||||
|
||||
; clz/ctz on 64 bit operands
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
test binemit
|
||||
set is_64bit
|
||||
set opt_level=best
|
||||
isa x86 baseline
|
||||
target x86_64 baseline
|
||||
|
||||
; The binary encodings can be verified with the command:
|
||||
;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
; Binary emission of 32-bit floating point code.
|
||||
test binemit
|
||||
isa x86 haswell
|
||||
target i686 haswell
|
||||
|
||||
; The binary encodings can be verified with the command:
|
||||
;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
; binary emission of x86-32 code.
|
||||
test binemit
|
||||
set opt_level=best
|
||||
isa x86 haswell
|
||||
target i686 haswell
|
||||
|
||||
; The binary encodings can be verified with the command:
|
||||
;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
; Binary emission of 64-bit floating point code.
|
||||
test binemit
|
||||
set is_64bit
|
||||
set opt_level=best
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; The binary encodings can be verified with the command:
|
||||
;
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
; binary emission of 64-bit code.
|
||||
test binemit
|
||||
set is_64bit
|
||||
set opt_level=best
|
||||
set is_pic
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; The binary encodings can be verified with the command:
|
||||
;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
; binary emission of x86-64 code.
|
||||
test binemit
|
||||
set is_64bit
|
||||
set opt_level=best
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; The binary encodings can be verified with the command:
|
||||
;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
; Test legalization of a non-colocated call in 64-bit non-PIC mode.
|
||||
test legalizer
|
||||
set is_64bit
|
||||
set opt_level=best
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %call() {
|
||||
fn0 = %foo()
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
; Test the custom legalizations.
|
||||
test legalizer
|
||||
isa x86
|
||||
set is_64bit
|
||||
isa x86
|
||||
target i686
|
||||
target x86_64
|
||||
|
||||
; regex: V=v\d+
|
||||
; regex: EBB=ebb\d+
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
; Test the division legalizations.
|
||||
test legalizer
|
||||
set is_64bit
|
||||
; See also legalize-div.cton.
|
||||
set avoid_div_traps=1
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
; regex: V=v\d+
|
||||
; regex: EBB=ebb\d+
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
; Test the division legalizations.
|
||||
test legalizer
|
||||
set is_64bit
|
||||
; See also legalize-div-traps.cton.
|
||||
set avoid_div_traps=0
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
; regex: V=v\d+
|
||||
; regex: EBB=ebb\d+
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
test legalizer
|
||||
|
||||
; Pre-SSE 4.1, we need to use runtime library calls for floating point rounding operations.
|
||||
set is_64bit
|
||||
set is_pic
|
||||
set call_conv=system_v
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
function %floor(f32) -> f32 {
|
||||
ebb0(v0: f32):
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
; Test the legalization of memory objects.
|
||||
test legalizer
|
||||
set is_64bit
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
; regex: V=v\d+
|
||||
; regex: EBB=ebb\d+
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
|
||||
test compile
|
||||
set is_64bit
|
||||
isa x86 baseline
|
||||
target x86_64 baseline
|
||||
|
||||
; umulhi/smulhi on 64 bit operands
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
; Check that floating-point constants equal to zero are optimized correctly.
|
||||
test binemit
|
||||
set is_64bit=0
|
||||
isa x86
|
||||
target i686
|
||||
|
||||
function %foo() -> f32 fast {
|
||||
ebb0:
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
; Check that floating-point constants equal to zero are optimized correctly.
|
||||
test binemit
|
||||
set is_64bit=1
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
function %zero_const_32bit_no_rex() -> f32 fast {
|
||||
ebb0:
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
test compile
|
||||
set is_64bit=1
|
||||
set colocated_libcalls=1
|
||||
set probestack_func_adjusts_sp=1
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
; Like %big in probestack.cton, but with the probestack function adjusting
|
||||
; the stack pointer itself.
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
test compile
|
||||
set is_64bit=1
|
||||
set colocated_libcalls=1
|
||||
set probestack_enabled=0
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
; Like %big in probestack.cton, but with probes disabled.
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test compile
|
||||
set is_64bit=1
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
; Like %big in probestack.cton, but without a colocated libcall.
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
test compile
|
||||
set is_64bit=1
|
||||
set colocated_libcalls=1
|
||||
set probestack_size_log2=13
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
; Like %big in probestack.cton, but now the probestack size is bigger
|
||||
; and it no longer needs a probe.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
test compile
|
||||
set is_64bit=1
|
||||
set colocated_libcalls=1
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
; A function with a big stack frame. This should have a stack probe.
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
test compile
|
||||
set is_64bit
|
||||
set opt_level=best
|
||||
set is_pic
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; An empty function.
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
test binemit
|
||||
set is_64bit=1
|
||||
set opt_level=best
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
; Test that instruction shrinking eliminates REX prefixes when possible.
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
test compile
|
||||
set is_64bit
|
||||
set opt_level=best
|
||||
set is_pic
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; check if for one arg we use the right register
|
||||
function %one_arg(i64) windows_fastcall {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
test cat
|
||||
|
||||
isa riscv
|
||||
target riscv32
|
||||
|
||||
; regex: WS=[ \t]*
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test postopt
|
||||
isa x86
|
||||
target i686
|
||||
|
||||
; Test that compare+branch sequences are folded effectively on x86.
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test postopt
|
||||
set is_64bit
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
function %dual_loads(i64, i64) -> i64 {
|
||||
ebb0(v0: i64, v1: i64):
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
test preopt
|
||||
isa x86 baseline
|
||||
target i686 baseline
|
||||
|
||||
; Cases where the denominator is created by an iconst
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
test preopt
|
||||
isa x86 baseline
|
||||
target i686 baseline
|
||||
|
||||
; -------- U32 --------
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
test preopt
|
||||
isa x86 baseline
|
||||
target i686 baseline
|
||||
|
||||
; -------- U32 --------
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
test preopt
|
||||
isa x86 baseline
|
||||
target i686 baseline
|
||||
|
||||
; -------- U32 --------
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
test preopt
|
||||
isa x86 baseline
|
||||
target i686 baseline
|
||||
|
||||
; -------- U32 --------
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test preopt
|
||||
isa x86
|
||||
target i686
|
||||
|
||||
function %iadd_imm(i32) -> i32 {
|
||||
ebb0(v0: i32):
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test regalloc
|
||||
set is_64bit
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %value_aliases(i32, f32, i64 vmctx) baldrdash {
|
||||
gv0 = vmctx
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
test regalloc
|
||||
|
||||
; We can add more ISAs once they have defined encodings.
|
||||
isa riscv
|
||||
target riscv32
|
||||
|
||||
; regex: RX=%x\d+
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test regalloc
|
||||
isa riscv
|
||||
target riscv32
|
||||
|
||||
; Test the coalescer.
|
||||
; regex: V=v\d+
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test regalloc
|
||||
set is_64bit
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; Reported as https://github.com/cretonne/cretonne/issues/207
|
||||
;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test regalloc
|
||||
set is_64bit
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; Reported as https://github.com/cretonne/cretonne/issues/216 from the Binaryen fuzzer.
|
||||
;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test regalloc
|
||||
set is_64bit
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %pr227(i32 [%rdi], i32 [%rsi], i32 [%rdx], i32 [%rcx], i64 vmctx [%r8]) system_v {
|
||||
gv0 = vmctx
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test regalloc
|
||||
isa x86
|
||||
target i686
|
||||
|
||||
; regex: V=v\d+
|
||||
; regex: REG=%r([abcd]x|[sd]i)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test regalloc
|
||||
set is_64bit
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; This test case would create an EBB parameter that was a ghost value.
|
||||
; The coalescer would insert a copy of the ghost value, leading to verifier errors.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test regalloc
|
||||
isa x86
|
||||
target i686
|
||||
|
||||
; This test covers the troubles when values with global live ranges are defined
|
||||
; by instructions with constrained register classes.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test regalloc
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %foo() system_v {
|
||||
ebb4:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test regalloc
|
||||
isa riscv
|
||||
target riscv32
|
||||
|
||||
; Here, the coalescer initially builds vreg0 = [v1, v2, v3]
|
||||
;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test regalloc
|
||||
set is_64bit
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function u0:9(i64 [%rdi], f32 [%xmm0], f64 [%xmm1], i32 [%rsi], i32 [%rdx], i64 vmctx [%r14]) -> i64 [%rax] baldrdash {
|
||||
ebb0(v0: i64, v1: f32, v2: f64, v3: i32, v4: i32, v5: i64):
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test regalloc
|
||||
set is_64bit
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; Test combinations of constraints.
|
||||
;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test regalloc
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %test(i64) -> i64 system_v {
|
||||
ebb0(v0: i64):
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test regalloc
|
||||
set is_64bit
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; regex: V=v\d+
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test regalloc
|
||||
isa riscv enable_e
|
||||
target riscv32 enable_e
|
||||
|
||||
; regex: V=v\d+
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test regalloc
|
||||
isa x86 haswell
|
||||
target i686 haswell
|
||||
|
||||
function %pr165() system_v {
|
||||
ebb0:
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
test regalloc
|
||||
set is_64bit
|
||||
isa x86
|
||||
target x86_64
|
||||
|
||||
; Test case found by the Binaryen fuzzer.
|
||||
;
|
||||
|
||||
@@ -12,7 +12,7 @@ test regalloc
|
||||
; regex: V=v\d+
|
||||
; regex: WS=\s+
|
||||
|
||||
isa riscv enable_e
|
||||
target riscv32 enable_e
|
||||
|
||||
; In straight-line code, the first value defined is spilled.
|
||||
; That is in order:
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
; Use "test compile" here otherwise the dead blocks won't be eliminated.
|
||||
test compile
|
||||
|
||||
set is_64bit
|
||||
set probestack_enabled=0
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
; This function contains unreachable blocks which trip up the register
|
||||
; allocator if they don't get cleared out.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
test regalloc
|
||||
|
||||
isa x86
|
||||
target i686
|
||||
|
||||
; regex: V=v\d+
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
test verifier
|
||||
isa x86
|
||||
target i686
|
||||
|
||||
; Simple, correct use of CPU flags.
|
||||
function %simple(i32) -> i32 {
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
; Test basic code generation for control flow WebAssembly instructions.
|
||||
test compile
|
||||
|
||||
set is_64bit=0
|
||||
isa x86 haswell
|
||||
target i686 haswell
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %br_if(i32) -> i32 {
|
||||
ebb0(v0: i32):
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
; Test code generation for WebAssembly type conversion operators.
|
||||
test compile
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %i32_wrap_i64(i64) -> i32 {
|
||||
ebb0(v0: i64):
|
||||
|
||||
@@ -1,17 +1,10 @@
|
||||
; Test basic code generation for f32 arithmetic WebAssembly instructions.
|
||||
test compile
|
||||
|
||||
set is_64bit=0
|
||||
isa x86 haswell
|
||||
|
||||
set is_64bit=0
|
||||
isa x86 baseline
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 baseline
|
||||
target i686 haswell
|
||||
target i686 baseline
|
||||
target x86_64 haswell
|
||||
target x86_64 baseline
|
||||
|
||||
; Constants.
|
||||
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
; Test code generation for WebAssembly f32 comparison operators.
|
||||
test compile
|
||||
|
||||
set is_64bit=0
|
||||
isa x86 haswell
|
||||
target i686 haswell
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %f32_eq(f32, f32) -> i32 {
|
||||
ebb0(v0: f32, v1: f32):
|
||||
|
||||
@@ -3,8 +3,7 @@ test compile
|
||||
|
||||
; We only test on 64-bit since the heap_addr instructions and vmctx parameters
|
||||
; explicitly mention the pointer width.
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %f32_load(i32, i64 vmctx) -> f32 {
|
||||
gv0 = vmctx
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
; Test basic code generation for f64 arithmetic WebAssembly instructions.
|
||||
test compile
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 baseline
|
||||
target x86_64 haswell
|
||||
target x86_64 baseline
|
||||
|
||||
; Constants.
|
||||
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
; Test code generation for WebAssembly f64 comparison operators.
|
||||
test compile
|
||||
|
||||
set is_64bit=0
|
||||
isa x86 haswell
|
||||
target i686 haswell
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %f64_eq(f64, f64) -> i32 {
|
||||
ebb0(v0: f64, v1: f64):
|
||||
|
||||
@@ -3,8 +3,7 @@ test compile
|
||||
|
||||
; We only test on 64-bit since the heap_addr instructions and vmctx parameters
|
||||
; explicitly mention the pointer width.
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %f64_load(i32, i64 vmctx) -> f64 {
|
||||
gv0 = vmctx
|
||||
|
||||
@@ -1,17 +1,10 @@
|
||||
; Test basic code generation for i32 arithmetic WebAssembly instructions.
|
||||
test compile
|
||||
|
||||
set is_64bit=0
|
||||
isa x86 haswell
|
||||
|
||||
set is_64bit=0
|
||||
isa x86 baseline
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 baseline
|
||||
target i686 haswell
|
||||
target i686 baseline
|
||||
target x86_64 haswell
|
||||
target x86_64 baseline
|
||||
|
||||
; Constants.
|
||||
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
; Test code generation for WebAssembly i32 comparison operators.
|
||||
test compile
|
||||
|
||||
set is_64bit=0
|
||||
isa x86 haswell
|
||||
target i686 haswell
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %i32_eqz(i32) -> i32 {
|
||||
ebb0(v0: i32):
|
||||
|
||||
@@ -3,8 +3,7 @@ test compile
|
||||
|
||||
; We only test on 64-bit since the heap_addr instructions and vmctx parameters
|
||||
; explicitly mention the pointer width.
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %i32_load(i32, i64 vmctx) -> i32 {
|
||||
gv0 = vmctx
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
; Test basic code generation for i64 arithmetic WebAssembly instructions.
|
||||
test compile
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 baseline
|
||||
target x86_64 haswell
|
||||
target x86_64 baseline
|
||||
|
||||
; Constants.
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
; Test code generation for WebAssembly i64 comparison operators.
|
||||
test compile
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %i64_eqz(i64) -> i32 {
|
||||
ebb0(v0: i64):
|
||||
|
||||
@@ -3,8 +3,7 @@ test compile
|
||||
|
||||
; We only test on 64-bit since the heap_addr instructions and vmctx parameters
|
||||
; explicitly mention the pointer width.
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %i64_load(i32, i64 vmctx) -> i64 {
|
||||
gv0 = vmctx
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
; Test basic code generation for the select WebAssembly instruction.
|
||||
test compile
|
||||
|
||||
set is_64bit=0
|
||||
isa x86 haswell
|
||||
target i686 haswell
|
||||
|
||||
set is_64bit=1
|
||||
isa x86 haswell
|
||||
target x86_64 haswell
|
||||
|
||||
function %select_i32(i32, i32, i32) -> i32 {
|
||||
ebb0(v0: i32, v1: i32, v2: i32):
|
||||
|
||||
Reference in New Issue
Block a user