DAGCombine: fold (or (and X, M), (and X, N)) -> (and X, (or M, N))
[oota-llvm.git] / test / CodeGen / R600 / default-fp-mode.ll
1 ; RUN: llc -march=amdgcn -mcpu=SI -mattr=-fp32-denormals,+fp64-denormals < %s | FileCheck -check-prefix=FP64-DENORMAL -check-prefix=FUNC %s
2 ; RUN: llc -march=amdgcn -mcpu=SI -mattr=+fp32-denormals,-fp64-denormals < %s | FileCheck -check-prefix=FP32-DENORMAL -check-prefix=FUNC %s
3 ; RUN: llc -march=amdgcn -mcpu=SI -mattr=+fp32-denormals,+fp64-denormals < %s | FileCheck -check-prefix=BOTH-DENORMAL -check-prefix=FUNC %s
4 ; RUN: llc -march=amdgcn -mcpu=SI -mattr=-fp32-denormals,-fp64-denormals < %s | FileCheck -check-prefix=NO-DENORMAL -check-prefix=FUNC %s
5 ; RUN: llc -march=amdgcn -mcpu=SI < %s | FileCheck -check-prefix=DEFAULT -check-prefix=FUNC %s
6 ; RUN: llc -march=amdgcn -mcpu=SI -mattr=-fp32-denormals < %s | FileCheck -check-prefix=DEFAULT -check-prefix=FUNC %s
7 ; RUN: llc -march=amdgcn -mcpu=SI -mattr=+fp64-denormals < %s | FileCheck -check-prefix=DEFAULT -check-prefix=FUNC %s
8
9 ; FUNC-LABEL: {{^}}test_kernel:
10
11 ; DEFAULT: FloatMode: 192
12 ; DEFAULT: IeeeMode: 0
13
14 ; FP64-DENORMAL: FloatMode: 192
15 ; FP64-DENORMAL: IeeeMode: 0
16
17 ; FP32-DENORMAL: FloatMode: 48
18 ; FP32-DENORMAL: IeeeMode: 0
19
20 ; BOTH-DENORMAL: FloatMode: 240
21 ; BOTH-DENORMAL: IeeeMode: 0
22
23 ; NO-DENORMAL: FloatMode: 0
24 ; NO-DENORMAL: IeeeMode: 0
25 define void @test_kernel(float addrspace(1)* %out0, double addrspace(1)* %out1) nounwind {
26   store float 0.0, float addrspace(1)* %out0
27   store double 0.0, double addrspace(1)* %out1
28   ret void
29 }