Home | History | Annotate | Download | only in SpeculativeExecution
      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