1 ; RUN: opt < %s -S -speculative-execution \ 2 ; RUN: -spec-exec-max-speculation-cost 4 -spec-exec-max-not-hoisted 3 \ 3 ; RUN: | FileCheck %s 4 5 ; CHECK-LABEL: @ifThen_fadd( 6 ; CHECK: fadd 7 ; CHECK: br i1 true 8 define void @ifThen_fadd() { 9 br i1 true, label %a, label %b 10 11 a: 12 %x = fadd float undef, undef 13 br label %b 14 15 b: 16 ret void 17 } 18 19 ; CHECK-LABEL: @ifThen_fsub( 20 ; CHECK: fsub 21 ; CHECK: br i1 true 22 define void @ifThen_fsub() { 23 br i1 true, label %a, label %b 24 25 a: 26 %x = fsub float undef, undef 27 br label %b 28 29 b: 30 ret void 31 } 32 33 ; CHECK-LABEL: @ifThen_fneg( 34 ; CHECK: fsub float -0.0 35 ; CHECK: br i1 true 36 define void @ifThen_fneg() { 37 br i1 true, label %a, label %b 38 39 a: 40 %x = fsub float -0.0, undef 41 br label %b 42 43 b: 44 ret void 45 } 46 47 ; CHECK-LABEL: @ifThen_fmul( 48 ; CHECK: fmul 49 ; CHECK: br i1 true 50 define void @ifThen_fmul() { 51 br i1 true, label %a, label %b 52 53 a: 54 %x = fmul float undef, undef 55 br label %b 56 57 b: 58 ret void 59 } 60 61 ; CHECK-LABEL: @ifThen_fdiv( 62 ; CHECK: fdiv 63 ; CHECK: br i1 true 64 define void @ifThen_fdiv() { 65 br i1 true, label %a, label %b 66 67 a: 68 %x = fdiv float undef, undef 69 br label %b 70 71 b: 72 ret void 73 } 74 75 ; CHECK-LABEL: @ifThen_frem( 76 ; CHECK: frem 77 ; CHECK: br i1 true 78 define void @ifThen_frem() { 79 br i1 true, label %a, label %b 80 81 a: 82 %x = frem float undef, undef 83 br label %b 84 85 b: 86 ret void 87 } 88