; 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: brnz $v1, $(new=$EBB) ; nextln: trap user67 ; check: $new: ; nextln: return } function %cond_trap2(i32) { ebb0(v1: i32): trapnz v1, int_ovf return ; check: $ebb0($v1: i32 ; nextln: brz $v1, $(new=$EBB) ; nextln: trap int_ovf ; check: $new: ; 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 }