xref: /llvm-project/clang/test/CodeGen/X86/32bit-behavior-no-eval.c (revision 39db5e1ed87363a9ffea81e53520b542201b3262)
1 // SSE
2 // RUN: %clang_cc1  \
3 // RUN: -triple i386-pc-windows -target-cpu pentium4 -target-feature +sse \
4 // RUN: -emit-llvm -o - %s | FileCheck -check-prefix=CHECK %s
5 
6 // NO SSE
7 // RUN: %clang_cc1  \
8 // RUN: -triple i386-pc-windows -target-cpu pentium4 -target-feature -sse \
9 // RUN: -emit-llvm -o - %s | FileCheck -check-prefix=CHECK %s
10 
11 // NO SSE Fast Math
12 // RUN: %clang_cc1  \
13 // RUN: -triple i386-pc-windows -target-cpu pentium4 -target-feature -sse \
14 // RUN: -ffast-math -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-FM %s
15 
addit(float a,float b,float c)16 float addit(float a, float b, float c) {
17   // CHECK: load float, ptr
18   // CHECK: load float, ptr
19   // CHECK: fadd float
20   // CHECK: load float, ptr
21   // CHECK: fadd float
22 
23   // CHECK-FM: load float, ptr
24   // CHECK-FM: load float, ptr
25   // CHECK-FM: fadd reassoc nnan ninf nsz arcp afn float
26   // CHECK-FM: load float, ptr
27   // CHECK-FM: fadd reassoc nnan ninf nsz arcp afn float
28 
29   return a + b + c;
30 }
31