/external/llvm-project/llvm/test/Transforms/Reassociate/ |
D | pointer-collision-non-determinism.ll | 32 ; CHECK-NEXT: [[TMP:%.*]] = fmul fast float [[ARG:%.*]], 0x3FE99999A0000000 33 ; CHECK-NEXT: [[TMP110:%.*]] = fsub fast float 1.000000e+00, [[TMP]] 34 ; CHECK-NEXT: [[TMP2:%.*]] = fmul fast float [[ARG]], 0x3FE99999A0000000 35 ; CHECK-NEXT: [[TMP311:%.*]] = fsub fast float 1.000000e+00, [[TMP2]] 36 ; CHECK-NEXT: [[REASS_MUL160:%.*]] = fmul fast float [[TMP110]], [[ARG]] 37 ; CHECK-NEXT: [[TMP4:%.*]] = fmul fast float [[REASS_MUL160]], [[TMP311]] 38 ; CHECK-NEXT: [[TMP5:%.*]] = fadd fast float [[TMP4]], [[ARG]] 39 ; CHECK-NEXT: [[TMP6:%.*]] = fmul fast float [[TMP5]], [[ARG]] 40 ; CHECK-NEXT: [[TMP7:%.*]] = fadd fast float [[TMP6]], [[ARG]] 41 ; CHECK-NEXT: [[TMP8:%.*]] = fmul fast float [[TMP7]], [[ARG]] [all …]
|
D | fast-mightymul.ll | 5 %t0 = fmul fast float %x, %x 6 %t1 = fmul fast float %t0, %t0 7 %t2 = fmul fast float %t1, %t1 8 %t3 = fmul fast float %t2, %t2 9 %t4 = fmul fast float %t3, %t3 10 %t5 = fmul fast float %t4, %t4 11 %t6 = fmul fast float %t5, %t5 12 %t7 = fmul fast float %t6, %t6 13 %t8 = fmul fast float %t7, %t7 14 %t9 = fmul fast float %t8, %t8 [all …]
|
D | fast-fp-commute.ll | 8 ; CHECK-NEXT: [[TMP1:%.*]] = fmul fast float [[Y:%.*]], [[X:%.*]] 9 ; CHECK-NEXT: [[TMP2:%.*]] = fmul fast float [[Y]], [[X]] 10 ; CHECK-NEXT: [[TMP3:%.*]] = fsub fast float [[TMP1]], [[TMP2]] 15 %1 = fmul fast float %x, %y 16 %2 = fmul fast float %y, %x 17 %3 = fsub fast float %1, %2 25 ; CHECK-NEXT: [[TMP1:%.*]] = fmul fast float [[Y:%.*]], [[X:%.*]] 26 ; CHECK-NEXT: [[TMP2:%.*]] = fmul fast float [[Y]], [[X]] 27 ; CHECK-NEXT: [[TMP3:%.*]] = fsub fast float [[TMP1]], [[TMP2]] 30 %1 = fmul fast float %x, %y [all …]
|
D | 2019-08-22-FNegAssert.ll | 7 ; CHECK-NEXT: [[TMP5:%.*]] = fneg fast float [[ARG:%.*]] 8 ; CHECK-NEXT: [[TMP1:%.*]] = fsub fast float [[ARG3:%.*]], [[ARG2:%.*]] 9 ; CHECK-NEXT: [[TMP2_NEG:%.*]] = fadd fast float [[TMP5]], 5.000000e+02 10 ; CHECK-NEXT: [[TMP3:%.*]] = fadd fast float [[TMP2_NEG]], [[TMP1]] 11 ; CHECK-NEXT: [[TMP4:%.*]] = fmul fast float [[TMP3]], [[TMP3]] 12 ; CHECK-NEXT: [[TMP6:%.*]] = fdiv fast float [[TMP5]], [[ARG1:%.*]] 13 ; CHECK-NEXT: [[TMP7:%.*]] = fadd fast float [[TMP4]], [[TMP6]] 16 %tmp1 = fsub fast float %arg3, %arg2 17 %tmp2 = fadd fast float %arg, -5.000000e+02 18 %tmp3 = fsub fast float %tmp1, %tmp2 [all …]
|
D | fast-basictest.ll | 7 ; CHECK-NEXT: [[ARG_NEG:%.*]] = fneg fast float [[ARG:%.*]] 10 %t1 = fsub fast float -1.200000e+01, %arg 11 %t2 = fadd fast float %t1, 1.200000e+01 54 ; CHECK-NEXT: [[REG117:%.*]] = fadd fast float [[REG109:%.*]], [[REG1111:%.*]] 57 %reg115 = fadd fast float %reg109, -3.000000e+01 58 %reg116 = fadd fast float %reg115, %reg1111 59 %reg117 = fadd fast float %reg116, 3.000000e+01 87 ; CHECK-NEXT: [[T1:%.*]] = fadd fast float [[B]], [[A]] 88 ; CHECK-NEXT: [[T2:%.*]] = fadd fast float [[T1]], [[C]] 96 %t1 = fadd fast float %A, %B [all …]
|
D | reassoc-intermediate-fnegs.ll | 9 ; CHECK-NEXT: [[T2_NEG:%.*]] = fmul fast half [[A:%.*]], 0xHC500 10 ; CHECK-NEXT: [[REASS_MUL:%.*]] = fmul fast half [[B:%.*]], 0xH4500 11 ; CHECK-NEXT: [[T5:%.*]] = fadd fast half [[REASS_MUL]], [[T2_NEG]] 14 %t1 = fmul fast half %b, 0xH4200 ; 3*b 15 %t2 = fmul fast half %a, 0xH4500 ; 5*a 16 %t3 = fmul fast half %b, 0xH4000 ; 2*b 17 %t4 = fsub fast half %t2, %t1 ; 5 * a - 3 * b 18 %t5 = fsub fast half %t3, %t4 ; 2 * b - ( 5 * a - 3 * b) 26 ; CHECK-NEXT: [[T2:%.*]] = fmul fast half [[A:%.*]], 0xH4500 27 ; CHECK-NEXT: [[T5:%.*]] = fadd fast half [[B:%.*]], [[T2]] [all …]
|
/external/llvm/test/Transforms/Reassociate/ |
D | fast-basictest.ll | 6 ; CHECK-NEXT: fsub fast float -0.000000e+00, %arg 9 %tmp1 = fsub fast float -1.200000e+01, %arg 10 %tmp2 = fadd fast float %tmp1, 1.200000e+01 29 ; CHECK-NEXT: %reg117 = fadd fast float %reg109, %reg1111 32 %reg115 = fadd fast float %reg109, -3.000000e+01 33 %reg116 = fadd fast float %reg115, %reg1111 34 %reg117 = fadd fast float %reg116, 3.000000e+01 46 ; CHECK: fadd fast float 47 ; CHECK: fadd fast float 48 ; CHECK-NOT: fadd fast float [all …]
|
D | fast-mightymul.ll | 5 %t0 = fmul fast float %x, %x 6 %t1 = fmul fast float %t0, %t0 7 %t2 = fmul fast float %t1, %t1 8 %t3 = fmul fast float %t2, %t2 9 %t4 = fmul fast float %t3, %t3 10 %t5 = fmul fast float %t4, %t4 11 %t6 = fmul fast float %t5, %t5 12 %t7 = fmul fast float %t6, %t6 13 %t8 = fmul fast float %t7, %t7 14 %t9 = fmul fast float %t8, %t8 [all …]
|
D | fast-fp-commute.ll | 7 ; CHECK: fmul fast float %y, %x 8 ; CHECK: fmul fast float %y, %x 9 ; CHECK: fsub fast float %1, %2 13 %1 = fmul fast float %x, %y 14 %2 = fmul fast float %y, %x 15 %3 = fsub fast float %1, %2 23 ; CHECK-NEXT: fmul fast float %y, %x 24 ; CHECK-NEXT: fmul fast float %y, %x 25 ; CHECK-NEXT: fsub fast float %1, %2 28 %1 = fmul fast float %x, %y [all …]
|
D | reassoc-intermediate-fnegs.ll | 3 ; CHECK: [[TMP1:%.*]] = fsub fast half 0xH8000, %a 4 ; CHECK: [[TMP2:%.*]] = fadd fast half %b, [[TMP1]] 5 ; CHECK: fmul fast half [[TMP2]], 0xH4500 9 %tmp1 = fmul fast half %b, 0xH4200 ; 3*b 10 %tmp2 = fmul fast half %a, 0xH4500 ; 5*a 11 %tmp3 = fmul fast half %b, 0xH4000 ; 2*b 12 %tmp4 = fsub fast half %tmp2, %tmp1 ; 5 * a - 3 * b 13 %tmp5 = fsub fast half %tmp3, %tmp4 ; 2 * b - ( 5 * a - 3 * b) 18 ; CHECK: [[TMP1:%tmp.*]] = fmul fast half %a, 0xH4500 19 ; CHECK: [[TMP2:%tmp.*]] = fmul fast half %b, 0xH3C00 [all …]
|
D | fast-ReassociateVector.ll | 6 ; CHECK-NEXT: %tmp = fadd fast <4 x float> %b, %a 7 ; CHECK-NEXT: %tmp1 = fmul fast <4 x float> %tmp, %c 10 %mul = fmul fast <4 x float> %a, %c 11 %mul1 = fmul fast <4 x float> %b, %c 12 %add = fadd fast <4 x float> %mul, %mul1 19 ; CHECK-NEXT: [[TMP1:%tmp.*]] = fadd fast <2 x float> %c, %b 20 ; CHECK-NEXT: [[TMP2:%tmp.*]] = fmul fast <2 x float> %a, %a 21 ; CHECK-NEXT: fmul fast <2 x float> [[TMP2]], [[TMP1]] 24 %t0 = fmul fast <2 x float> %a, %b 25 %t1 = fmul fast <2 x float> %a, %t0 [all …]
|
D | fast-multistep.ll | 6 ; CHECK-NEXT: [[TMP1:%tmp.*]] = fadd fast float %c, %b 7 ; CHECK-NEXT: [[TMP2:%tmp.*]] = fmul fast float %a, %a 8 ; CHECK-NEXT: fmul fast float [[TMP2]], [[TMP1]] 11 %t0 = fmul fast float %a, %b 12 %t1 = fmul fast float %a, %t0 ; a*(a*b) 13 %t2 = fmul fast float %a, %c 14 %t3 = fmul fast float %a, %t2 ; a*(a*c) 15 %t4 = fadd fast float %t1, %t3 22 ; CHECK-NEXT: fadd fast float %c, %b 23 ; CHECK-NEXT: fmul fast float %tmp, %a [all …]
|
/external/llvm-project/llvm/test/Transforms/InstCombine/ |
D | pow-4.ll | 15 ; CHECK-NEXT: [[SQUARE:%.*]] = fmul fast double [[X:%.*]], [[X]] 16 ; CHECK-NEXT: [[TMP1:%.*]] = fmul fast double [[SQUARE]], [[X]] 19 %1 = call fast double @llvm.pow.f64(double %x, double 3.000000e+00) 26 ; CHECK-NEXT: [[SQUARE:%.*]] = fmul fast float [[X:%.*]], [[X]] 27 ; CHECK-NEXT: [[TMP1:%.*]] = fmul fast float [[SQUARE]], [[SQUARE]] 30 %1 = call fast float @llvm.pow.f32(float %x, float 4.000000e+00) 37 ; CHECK-NEXT: [[SQUARE:%.*]] = fmul fast double [[X:%.*]], [[X]] 38 ; CHECK-NEXT: [[TMP1:%.*]] = fmul fast double [[SQUARE]], [[SQUARE]] 41 %1 = call fast double @llvm.pow.f64(double %x, double 4.000000e+00) 48 ; CHECK-NEXT: [[SQUARE:%.*]] = fmul fast <2 x float> [[X:%.*]], [[X]] [all …]
|
D | fadd-fsub-factor.ll | 50 %t1 = fmul fast <2 x float> %x, %z 65 %t2 = fmul fast double %y, %z 74 ; CHECK-NEXT: [[T1:%.*]] = fmul fast float [[X:%.*]], [[Z:%.*]] 75 ; CHECK-NEXT: [[T2:%.*]] = fmul fast float [[Y:%.*]], [[Z]] 79 %t1 = fmul fast float %x, %z 80 %t2 = fmul fast float %y, %z 176 %t1 = fmul fast <2 x float> %x, %z 191 %t2 = fmul fast double %z, %y 200 ; CHECK-NEXT: [[T1:%.*]] = fmul fast float [[Z:%.*]], [[X:%.*]] 201 ; CHECK-NEXT: [[T2:%.*]] = fmul fast float [[Y:%.*]], [[Z]] [all …]
|
D | double-float-shrink-1.ll | 15 ; LINUX-NEXT: [[ACOSF:%.*]] = call fast float @acosf(float [[F:%.*]]) 17 ; MS32: [[ACOSF:%.*]] = call fast double @acos(double [[F:%.*]]) 18 ; MS64-NEXT: [[ACOSF:%.*]] = call fast float @acosf(float [[F:%.*]]) 21 %call = call fast double @acos(double %conv) 29 ; CHECK-NEXT: [[CALL:%.*]] = call fast double @acos(double [[CONV]]) 33 %call = call fast double @acos(double %conv) 39 ; ISC99-NEXT: [[ACOSHF:%.*]] = call fast float @acoshf(float [[F:%.*]]) 41 ; ISC89: [[ACOSHF:%.*]] = call fast double @acosh(double [[F:%.*]]) 44 %call = call fast double @acosh(double %conv) 52 ; CHECK-NEXT: [[CALL:%.*]] = call fast double @acosh(double [[CONV]]) [all …]
|
/external/llvm/test/Transforms/InstCombine/ |
D | fast-math.ll | 6 %mul = fmul fast float %a, 0x3FF3333340000000 7 %mul1 = fmul fast float %mul, 0x4002666660000000 10 ; CHECK: fmul fast float %a, 0x4006147AE0000000 17 ; CHECK: %mul = fmul fast float %a, 0x3FF3333340000000 18 %mul = fmul fast float %a, 0x3FF3333340000000 25 ; CHECK: fmul fast float %a, 0x4006147AE0000000 27 %mul1 = fmul fast float %mul, 0x4002666660000000 33 %t1 = fmul fast double 2.000000e+00, %f1 34 %t2 = fadd fast double %f1, %t1 37 ; CHECK: fmul fast double %f1, 3.000000e+00 [all …]
|
D | double-float-shrink-1.ll | 14 %call = call fast double @acos(double %conv) 18 ; CHECK: call fast float @acosf(float %f) 23 %call = call fast double @acos(double %conv) 26 ; CHECK: call fast double @acos(double %conv) 31 %call = call fast double @acosh(double %conv) 35 ; CHECK: call fast float @acoshf(float %f) 40 %call = call fast double @acosh(double %conv) 43 ; CHECK: call fast double @acosh(double %conv) 48 %call = call fast double @asin(double %conv) 52 ; CHECK: call fast float @asinf(float %f) [all …]
|
/external/llvm-project/llvm/test/CodeGen/AArch64/ |
D | select_fmf.ll | 14 %tmp21 = fcmp fast olt float %x, %y 15 %tmp22 = select fast i1 %tmp21, float %x, float %y 16 %tmp24 = fcmp fast ogt float %tmp22, %w 17 %tmp78 = fcmp fast ogt float %w, %z 18 %select0 = select fast i1 %tmp78, float %w, float %z 19 %select1 = select fast i1 %tmp21, float %select0, float %w 20 %select2 = select fast i1 %tmp24, float %select1, float %w 21 %tmp82 = fadd fast float %w, 5.000000e-01 22 %tmp102 = fadd fast float %tmp82, %select2 23 %cmp.i155.i.i = fcmp fast ogt float %tmp102, %tmp82 [all …]
|
D | PBQP-chain.ll | 1 ; RUN: llc < %s -mcpu=cortex-a57 -mattr=+neon -fp-contract=fast -regalloc=pbqp -pbqp-coalescing | F… 2 ; RUN: llc < %s -mcpu=cortex-a57 -mattr=+neon -fp-contract=fast -regalloc=pbqp -pbqp-coalescing | F… 27 %mul = fmul fast double %1, %0 29 %mul7 = fmul fast double %2, %0 34 %mul.1 = fmul fast double %4, %3 35 %add.1 = fadd fast double %mul.1, %mul 38 %mul7.1 = fmul fast double %5, %3 39 %add8.1 = fadd fast double %mul7.1, %mul7 44 %mul.2 = fmul fast double %7, %6 45 %add.2 = fadd fast double %mul.2, %add.1 [all …]
|
/external/llvm-project/llvm/test/Transforms/SLPVectorizer/X86/ |
D | reverse_extract_elements.ll | 7 ; CHECK-NEXT: [[TMP0:%.*]] = fmul fast <4 x float> [[X:%.*]], [[Y:%.*]] 8 ; CHECK-NEXT: [[TMP1:%.*]] = call fast float @llvm.vector.reduce.fadd.v4f32(float -0.000000e+00,… 14 %mul = fmul fast float %vecext, %vecext1 17 %mul.1 = fmul fast float %vecext.1, %vecext1.1 18 %add.1 = fadd fast float %mul.1, %mul 21 %mul.2 = fmul fast float %vecext.2, %vecext1.2 22 %add.2 = fadd fast float %mul.2, %add.1 25 %mul.3 = fmul fast float %vecext.3, %vecext1.3 26 %add.3 = fadd fast float %mul.3, %add.2 35 ; CHECK-NEXT: [[TMP2:%.*]] = fmul fast <4 x double> [[X]], [[Y]] [all …]
|
D | horizontal-list.ll | 18 ; CHECK-NEXT: [[TMP3:%.*]] = fmul fast <2 x float> [[TMP2]], [[TMP1]] 20 ; CHECK-NEXT: [[ADD:%.*]] = fadd fast float [[TMP4]], [[CONV]] 22 ; CHECK-NEXT: [[ADD_1:%.*]] = fadd fast float [[TMP5]], [[ADD]] 25 ; CHECK-NEXT: [[TMP8:%.*]] = fmul fast <2 x float> [[TMP7]], [[TMP6]] 27 ; CHECK-NEXT: [[ADD_2:%.*]] = fadd fast float [[TMP9]], [[ADD_1]] 29 ; CHECK-NEXT: [[ADD_3:%.*]] = fadd fast float [[TMP10]], [[ADD_2]] 30 ; CHECK-NEXT: [[ADD7:%.*]] = fadd fast float [[ADD_3]], [[CONV]] 31 ; CHECK-NEXT: [[ADD19:%.*]] = fadd fast float [[TMP4]], [[ADD7]] 32 ; CHECK-NEXT: [[ADD19_1:%.*]] = fadd fast float [[TMP5]], [[ADD19]] 33 ; CHECK-NEXT: [[ADD19_2:%.*]] = fadd fast float [[TMP9]], [[ADD19_1]] [all …]
|
/external/llvm-project/llvm/test/CodeGen/X86/ |
D | pr47517.ll | 17 %fmul1 = fmul fast float %zero, %src 18 %fadd1 = fadd fast float %fmul1, %zero 19 %fmul2 = fmul fast float %fadd1, 2.000000e+00 20 %fmul3 = fmul fast float %fmul2, %fmul2 21 %fmul4 = fmul fast float %fmul2, 2.000000e+00 22 %fadd2 = fadd fast float %fmul4, -3.000000e+00 23 %fmul5 = fmul fast float %fadd2, %fmul2 24 %fadd3 = fadd fast float %fmul2, %src 25 %fadd4 = fadd fast float %fadd3, %fmul5 26 %fmul6 = fmul fast float %fmul3, %fadd4 [all …]
|
/external/llvm/test/CodeGen/AArch64/ |
D | PBQP-chain.ll | 1 ; RUN: llc < %s -mcpu=cortex-a57 -mattr=+neon -fp-contract=fast -regalloc=pbqp -pbqp-coalescing | F… 2 ; RUN: llc < %s -mcpu=cortex-a57 -mattr=+neon -fp-contract=fast -regalloc=pbqp -pbqp-coalescing | F… 27 %mul = fmul fast double %1, %0 29 %mul7 = fmul fast double %2, %0 34 %mul.1 = fmul fast double %4, %3 35 %add.1 = fadd fast double %mul.1, %mul 38 %mul7.1 = fmul fast double %5, %3 39 %add8.1 = fadd fast double %mul7.1, %mul7 44 %mul.2 = fmul fast double %7, %6 45 %add.2 = fadd fast double %mul.2, %add.1 [all …]
|
/external/llvm/test/Transforms/SimplifyCFG/AArch64/ |
D | prefer-fma.ll | 16 ; CHECK: %3 = fmul fast double %1, %2 17 ; CHECK-NEXT: %mul = fadd fast double 1.000000e+00, %3 19 %3 = fmul fast double %1, %2 20 %mul = fadd fast double 1.000000e+00, %3 27 ; CHECK: %mul1 = fmul fast double %1, %2 28 ; CHECK-NEXT: %sub1 = fsub fast double %mul1, %0 30 %mul1 = fmul fast double %1, %4 31 %sub1 = fsub fast double %mul1, %0 44 ; CHECK: %7 = fmul fast double %5, 3.000000e+00 45 ; CHECK-NEXT: %mul2 = fsub fast double %6, %7 [all …]
|
/external/llvm-project/llvm/test/Transforms/SimplifyCFG/AArch64/ |
D | prefer-fma.ll | 16 ; CHECK: %3 = fmul fast double %1, %2 17 ; CHECK-NEXT: %mul = fadd fast double 1.000000e+00, %3 19 %3 = fmul fast double %1, %2 20 %mul = fadd fast double 1.000000e+00, %3 27 ; CHECK: %mul1 = fmul fast double %1, %2 28 ; CHECK-NEXT: %sub1 = fsub fast double %mul1, %0 30 %mul1 = fmul fast double %1, %4 31 %sub1 = fsub fast double %mul1, %0 45 ; CHECK: %7 = fmul fast double %5, 3.000000e+00 46 ; CHECK-NEXT: %mul2 = fsub fast double %6, %7 [all …]
|