annotate test/CodeGen/SPARC/disable-fsmuld-fmuls.ll @ 128:c347d3398279 default tip

fix
author mir3636
date Wed, 06 Dec 2017 14:37:17 +0900
parents 803732b1fca8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
121
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
1 ; RUN: llc %s -march=sparc -o - | FileCheck --check-prefix=CHECK --check-prefix=DEFAULT %s
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
2 ; RUN: llc %s -march=sparc -mattr=no-fmuls -o - | FileCheck --check-prefix=CHECK --check-prefix=NO-FMULS %s
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
3 ; RUN: llc %s -march=sparc -mattr=no-fsmuld -o - | FileCheck --check-prefix=CHECK --check-prefix=NO-FSMULD %s
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
4 ; RUN: llc %s -march=sparc -mattr=no-fsmuld,no-fmuls -o - | FileCheck --check-prefix=CHECK --check-prefix=NO-BOTH %s
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
5
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
6 ;;; Test case ensures that the no-fsmuld and no-fmuls features disable
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
7 ;;; the relevant instruction, and alternative sequences get emitted
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
8 ;;; instead.
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
9
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
10 ; CHECK-LABEL: test_float_mul:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
11 ; DEFAULT: fmuls
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
12 ; NO-FSMULD: fmuls
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
13 ; NO-FMULS: fsmuld
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
14 ; NO-FMULS: fdtos
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
15 ; NO-BOTH: fstod
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
16 ; NO-BOTH: fstod
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
17 ; NO-BOTH: fmuld
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
18 ; NO-BOTH: fdtos
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
19 define float @test_float_mul(float %a, float %b) {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
20 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
21 %mul = fmul float %a, %b
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
22
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
23 ret float %mul
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
24 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
25
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
26 ; CHECK-LABEL: test_float_mul_double:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
27 ; DEFAULT: fsmuld
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
28 ; NO-FSMULD: fstod
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
29 ; NO-FSMULD: fstod
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
30 ; NO-FSMULD: fmuld
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
31 define double @test_float_mul_double(float %a, float %b) {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
32 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
33 %a_double = fpext float %a to double
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
34 %b_double = fpext float %b to double
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
35 %mul = fmul double %a_double, %b_double
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
36
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
37 ret double %mul
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
38 }