1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 -x86-asm-syntax=intel -mcpu=i486 | \
; RUN: grep {fadd\\|fsub\\|fdiv\\|fmul} | not grep -i ST
; Test that the load of the constant is folded into the operation.
double %foo_add(double %P) {
%tmp.1 = add double %P, 0x405EC00000000000
ret double %tmp.1
}
double %foo_mul(double %P) {
%tmp.1 = mul double %P, 0x405EC00000000000
ret double %tmp.1
}
double %foo_sub(double %P) {
%tmp.1 = sub double %P, 0x405EC00000000000
ret double %tmp.1
}
double %foo_subr(double %P) {
%tmp.1 = sub double 0x405EC00000000000, %P
ret double %tmp.1
}
double %foo_div(double %P) {
%tmp.1 = div double %P, 0x405EC00000000000
ret double %tmp.1
}
double %foo_divr(double %P) {
%tmp.1 = div double 0x405EC00000000000, %P
ret double %tmp.1
}
|