67 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-- -x86-asm-syntax=intel -mcpu=i486 | FileCheck %s3 4; Test that the load of the constant is folded into the operation.5 6 7define double @foo_add(double %P) {8; CHECK-LABEL: foo_add:9; CHECK: # %bb.0:10; CHECK-NEXT: fld qword ptr [esp + 4]11; CHECK-NEXT: fadd dword ptr [{{\.?LCPI[0-9]+_[0-9]+}}]12; CHECK-NEXT: ret13 %tmp.1 = fadd double %P, 1.230000e+02 ; <double> [#uses=1]14 ret double %tmp.115}16 17define double @foo_mul(double %P) {18; CHECK-LABEL: foo_mul:19; CHECK: # %bb.0:20; CHECK-NEXT: fld qword ptr [esp + 4]21; CHECK-NEXT: fmul dword ptr [{{\.?LCPI[0-9]+_[0-9]+}}]22; CHECK-NEXT: ret23 %tmp.1 = fmul double %P, 1.230000e+02 ; <double> [#uses=1]24 ret double %tmp.125}26 27define double @foo_sub(double %P) {28; CHECK-LABEL: foo_sub:29; CHECK: # %bb.0:30; CHECK-NEXT: fld qword ptr [esp + 4]31; CHECK-NEXT: fadd dword ptr [{{\.?LCPI[0-9]+_[0-9]+}}]32; CHECK-NEXT: ret33 %tmp.1 = fsub double %P, 1.230000e+02 ; <double> [#uses=1]34 ret double %tmp.135}36 37define double @foo_subr(double %P) {38; CHECK-LABEL: foo_subr:39; CHECK: # %bb.0:40; CHECK-NEXT: fld dword ptr [{{\.?LCPI[0-9]+_[0-9]+}}]41; CHECK-NEXT: fsub qword ptr [esp + 4]42; CHECK-NEXT: ret43 %tmp.1 = fsub double 1.230000e+02, %P ; <double> [#uses=1]44 ret double %tmp.145}46 47define double @foo_div(double %P) {48; CHECK-LABEL: foo_div:49; CHECK: # %bb.0:50; CHECK-NEXT: fld qword ptr [esp + 4]51; CHECK-NEXT: fdiv dword ptr [{{\.?LCPI[0-9]+_[0-9]+}}]52; CHECK-NEXT: ret53 %tmp.1 = fdiv double %P, 1.230000e+02 ; <double> [#uses=1]54 ret double %tmp.155}56 57define double @foo_divr(double %P) {58; CHECK-LABEL: foo_divr:59; CHECK: # %bb.0:60; CHECK-NEXT: fld dword ptr [{{\.?LCPI[0-9]+_[0-9]+}}]61; CHECK-NEXT: fdiv qword ptr [esp + 4]62; CHECK-NEXT: ret63 %tmp.1 = fdiv double 1.230000e+02, %P ; <double> [#uses=1]64 ret double %tmp.165}66 67