summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/SPARC/LeonFillDataCachePassUT.ll
blob: 5461642110d0c04c6073a5c0ce6019a2b65ff868 (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
; RUN: llc %s -O0 -march=sparc -mcpu=leon2 -mattr=+filldatacache -o - | FileCheck %s
; RUN: llc %s -O0 -march=sparc -mcpu=at697e -o - | FileCheck %s
; RUN: llc %s -O0 -march=sparc -mcpu=at697f -mattr=+filldatacache -o - | FileCheck %s

; CHECK-LABEL: test_filldatacache_1
; CHECK:       or %g0, 1, %g1
; CHECK:       nop
; CHECK-NEXT:  add %g1, 1, %g1
; CHECK-NEXT:  cmp %g1, 4096
; CHECK-NEXT:  ble {{.+}}
define zeroext i1@test_filldatacache_1(i1 zeroext %a, i1 zeroext %b) {
  %1 = tail call zeroext i1 asm sideeffect "udivcc $0, $1, $2", "=r,r,r"(i1 zeroext %a, i1 zeroext %b)

  ret i1 %1
}


; CHECK-LABEL: test_filldatacache_2
; CHECK-NOT:   or %g0, 1, %g1
; CHECK-NOT:   add %g1, 1, %g1
; CHECK-NOT:   cmp %g1, 4096
; CHECK-NOT:   ble {{.+}}
define zeroext i1@test_filldatacache_2(i1 zeroext %a, i1 zeroext %b) {
  %1 = tail call zeroext i1 asm sideeffect "sdivcc $0, $1, $2", "=r,r,r"(i1 zeroext %a, i1 zeroext %b)

  ret i1 %1
}
OpenPOWER on IntegriCloud