; Test the custom legalizations. test legalizer isa intel set is_64bit isa intel ; regex: V=v\d+ ; regex: EBB=ebb\d+ function %cond_trap(i32) { ebb0(v1: i32): trapz v1, user67 return ; check: ebb0(v1: i32 ; nextln: $(f=$V) = ifcmp_imm v1, 0 ; nextln: trapif eq $f, user67 ; nextln: return } function %cond_trap2(i32) { ebb0(v1: i32): trapnz v1, int_ovf return ; check: ebb0(v1: i32 ; nextln: $(f=$V) = ifcmp_imm v1, 0 ; nextln: trapif ne $f, int_ovf ; nextln: return } function %cond_trap_b1(i32) { ebb0(v1: i32): v2 = icmp_imm eq v1, 6 trapz v2, user7 return ; check: ebb0(v1: i32 ; check: brnz v2, $(new=$EBB) ; nextln: trap user7 ; check: $new: ; nextln: return } function %cond_trap2_b1(i32) { ebb0(v1: i32): v2 = icmp_imm eq v1, 6 trapnz v2, user9 return ; check: ebb0(v1: i32 ; check: brz v2, $(new=$EBB) ; nextln: trap user9 ; check: $new: ; nextln: return } function %f32const() -> f32 { ebb0: v1 = f32const 0x1.0p1 ; check: $(tmp=$V) = iconst.i32 ; check: v1 = bitcast.f32 $tmp return v1 } function %f64const() -> f64 { ebb0: v1 = f64const 0x1.0p1 ; check: $(tmp=$V) = iconst.i64 ; check: v1 = bitcast.f64 $tmp return v1 } function %select_f64(f64, f64, i32) -> f64 { ebb0(v0: f64, v1: f64, v2: i32): v3 = select v2, v0, v1 ; check: brnz v2, $(new=$EBB)(v0) ; nextln: jump $new(v1) ; check: $new(v3: f64): ; nextln: return v3 return v3 } function %f32_min(f32, f32) -> f32 { ebb0(v0: f32, v1: f32): v2 = fmin v0, v1 return v2 ; check: $(vnat=$V) = x86_fmin v0, v1 ; nextln: jump $(done=$EBB)($vnat) ; check: $(uno=$EBB): ; nextln: $(vuno=$V) = fadd.f32 v0, v1 ; nextln: jump $(done=$EBB)($vuno) ; check: $(ueq=$EBB): ; check: $(veq=$V) = bor.f32 v0, v1 ; nextln: jump $(done=$EBB)($veq) ; check: $done(v2: f32): ; nextln: return v2 }