aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/SPARC/tn0013.mir
blob: 4a8ac55fecb80b4f659d27e0658bfc26bc5bfcbc (plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# RUN: llc %s -mattr=+fix-tn0013 -mtriple=sparc -run-pass=errata-workaround -o - \
# RUN:   | FileCheck %s

---
# CHECK:      $f0 = FSQRTS $f0
# CHECK-NEXT: NOP
# CHECK-NEXT: NOP
# CHECK-NEXT: $f3 = FADDS $f1, $f2
# CHECK-NEXT: $f3 = FADDS $f1, $f2
# CHECK-NEXT: $f0 = FDIVS $f4, $f5
name:            er-8-1
body:             |
  bb.0.entry:
    $f0 = FSQRTS $f0
    $f3 = FADDS $f1, $f2
    $f3 = FADDS $f1, $f2
    $f0 = FDIVS $f4, $f5

---
# CHECK:      $f0 = FDIVS $f0, $f0
# CHECK-NEXT: NOP
# CHECK-NEXT: $f3 = FADDS $f1, $f2
# CHECK-NEXT: $f3 = FADDS $f1, $f2
# CHECK-NEXT: $f3 = FADDS $f1, $f2
# CHECK-NEXT: $f0 = FSQRTS $f4
name:            er-8-2
body:             |
  bb.0.entry:
    $f0 = FDIVS $f0, $f0
    $f3 = FADDS $f1, $f2
    $f3 = FADDS $f1, $f2
    $f3 = FADDS $f1, $f2
    $f0 = FSQRTS $f4

---
# CHECK-NOT:  NOP
name:            er-9
body:             |
  bb.0.entry:
    $f0 = FSQRTS $f0
    $f3 = FADDS $f1, $f2
    $f3 = FADDS $f0, $f2
    $f3 = FADDS $f1, $f2
    $f0 = FSQRTS $f0

---
# CHECK-NOT:  NOP
name:            er-10
body:             |
  bb.0.entry:
    $f0 = FSQRTS $f0
    $f4 = FSQRTS $f4
    $f3 = FADDS $f1, $f2
    $f0 = FSQRTS $f0

---
# CHECK:      er-11
# CHECK:      $f0 = FSQRTS $f0
# CHECK-NEXT: NOP
# CHECK:      $f0 = FDIVS $f0, $f0
# CHECK-NEXT: NOP
name:            er-11
body:             |
  bb.0.entry:
    successors: %bb.3, %bb.1
    $f0 = FSQRTS $f0
    FBCOND %bb.3, 22, implicit $fcc0 {
      NOP
    }
  bb.1:
    successors: %bb.3, %bb.4
    $f0 = FDIVS $f0, $f0
    BCOND %bb.4, 10, implicit $icc {
      NOP
    }
  bb.3:
    NOP
  bb.4:
    NOP

---
# CHECK:      $f1 = FDIVS $f0, $f1
# CHECK-NEXT: NOP
# CHECK-NEXT: STri $i6, -84, $i2
name:            er-8-3
body:             |
  bb.0.entry:
    $f1 = FDIVS $f0, $f1
    STri $i6, -84, $i2
    $f0 = LDFri $i6, -84
    $f0 = FITOS $f0
    $f5 = FDIVS $f4, $f0
...