
Similar to 806761a7629df268c8aed49657aeccffa6bca449 -mtriple= specifies the full target triple while -march= merely sets the architecture part of the default target triple (e.g. Windows, macOS), leaving a target triple which may not make sense. Therefore, -march= is error-prone and not recommended for tests without a target triple. The issue has been benign as we recognize sparc*-apple-darwin as ELF instead of rejecting it outrightly.
80 lines
1.4 KiB
YAML
80 lines
1.4 KiB
YAML
# RUN: llc %s -mattr=+fix-tn0010 -mtriple=sparc -run-pass=errata-workaround -o - \
|
|
# RUN: | FileCheck %s
|
|
|
|
---
|
|
# CHECK: LDrr
|
|
# CHECK-NEXT: NOP
|
|
# CHECK-NEXT: CASArr
|
|
# CHECK: LDrr
|
|
# CHECK-NEXT: NOP
|
|
# CHECK-NEXT: SWAPrr
|
|
# CHECK: LDrr
|
|
# CHECK-NEXT: NOP
|
|
# CHECK-NEXT: SWAPri
|
|
name: er-5-1
|
|
registers:
|
|
- { id: 0, class: intregs }
|
|
body: |
|
|
bb.0.entry:
|
|
%0 = LDrr $o0, $g0
|
|
%0 = CASArr $o2, $o3, %0, 10
|
|
%0 = LDrr $g0, $o0
|
|
%0 = SWAPrr $o2, $o3, %0
|
|
%0 = LDrr $g0, $o0
|
|
%0 = SWAPri $o2, 10, %0
|
|
|
|
---
|
|
# CHECK: bb.2:
|
|
# CHECK-NEXT: NOP
|
|
# CHECK-NEXT: CASArr
|
|
name: er-5-2
|
|
registers:
|
|
- { id: 0, class: intregs }
|
|
body: |
|
|
bb.0.entry:
|
|
successors: %bb.1, %bb.2
|
|
BCOND %bb.2, 10, implicit $icc {
|
|
%0 = LDrr $g0, $o0
|
|
}
|
|
|
|
bb.1.entry:
|
|
successors: %bb.2
|
|
NOP
|
|
|
|
bb.2:
|
|
%0 = CASArr $o1, $o2, %0, 10
|
|
|
|
---
|
|
# CHECK: bb.0.entry:
|
|
# CHECK-NEXT: NOP
|
|
# CHECK-NEXT: CASArr
|
|
name: er-5-3
|
|
registers:
|
|
- { id: 0, class: intregs }
|
|
body: |
|
|
bb.0.entry:
|
|
%0 = CASArr $o1, $o2, %0, 10
|
|
|
|
---
|
|
# CHECK: bb.1.entry:
|
|
# CHECK: NOP
|
|
# CHECK-NEXT: CASArr
|
|
name: er-5-4
|
|
registers:
|
|
- { id: 0, class: intregs }
|
|
body: |
|
|
bb.0.entry:
|
|
successors: %bb.1, %bb.2
|
|
BCOND %bb.2, 10, implicit $icc {
|
|
%0 = LDrr $g0, $o0
|
|
}
|
|
|
|
bb.1.entry:
|
|
successors: %bb.2
|
|
%0 = CASArr $o1, $o2, %0, 10
|
|
|
|
bb.2:
|
|
NOP
|
|
|
|
...
|