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.
43 lines
787 B
Plaintext
43 lines
787 B
Plaintext
test regalloc
|
|
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.
|
|
;
|
|
; We don't allow EBB parameters to be ghost values any longer.
|
|
;
|
|
; Test case by binaryen fuzzer!
|
|
|
|
function %pr215(i64 vmctx [%rdi]) system_v {
|
|
ebb0(v0: i64):
|
|
v10 = iconst.i64 0
|
|
v1 = bitcast.f64 v10
|
|
jump ebb5(v1)
|
|
|
|
ebb5(v9: f64):
|
|
v11 = iconst.i64 0xffff_ffff_ff9a_421a
|
|
v4 = bitcast.f64 v11
|
|
v6 = iconst.i32 0
|
|
v7 = iconst.i32 1
|
|
brnz v7, ebb4(v6)
|
|
v8 = iconst.i32 0
|
|
jump ebb7(v8)
|
|
|
|
ebb7(v5: i32):
|
|
brnz v5, ebb3(v4)
|
|
jump ebb5(v4)
|
|
|
|
ebb4(v3: i32):
|
|
brnz v3, ebb2
|
|
jump ebb3(v9)
|
|
|
|
ebb3(v2: f64):
|
|
jump ebb2
|
|
|
|
ebb2:
|
|
jump ebb1
|
|
|
|
ebb1:
|
|
return
|
|
}
|