blob: 2be50d10ae948e4aec1f28170c783c7cb40d1486 [file] [log] [blame]
Alex Bradbury315cd3a2018-01-10 21:05:07 +00001; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -mtriple=riscv32 -verify-machineinstrs -filetype=obj < %s \
3; RUN: -o /dev/null 2>&1
4; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s | FileCheck %s
5
6define void @relax_bcc(i1 %a) {
7; CHECK-LABEL: relax_bcc:
8; CHECK: # %bb.0:
Alex Bradbury315cd3a2018-01-10 21:05:07 +00009; CHECK-NEXT: andi a0, a0, 1
10; CHECK-NEXT: bnez a0, .LBB0_1
11; CHECK-NEXT: j .LBB0_2
12; CHECK-NEXT: .LBB0_1: # %iftrue
13; CHECK-NEXT: #APP
14; CHECK-NEXT: .space 4096
15; CHECK-NEXT: #NO_APP
16; CHECK-NEXT: .LBB0_2: # %tail
Alex Bradbury315cd3a2018-01-10 21:05:07 +000017; CHECK-NEXT: ret
18 br i1 %a, label %iftrue, label %tail
19
20iftrue:
21 call void asm sideeffect ".space 4096", ""()
22 br label %tail
23
24tail:
25 ret void
26}
27
28define i32 @relax_jal(i1 %a) {
29; CHECK-LABEL: relax_jal:
30; CHECK: # %bb.0:
Alex Bradbury315cd3a2018-01-10 21:05:07 +000031; CHECK-NEXT: andi a0, a0, 1
32; CHECK-NEXT: bnez a0, .LBB1_1
Alex Bradbury7d6aa1f2018-01-18 11:34:02 +000033; CHECK-NEXT: # %bb.3:
Alex Bradbury315cd3a2018-01-10 21:05:07 +000034; CHECK-NEXT: lui a0, %hi(.LBB1_2)
35; CHECK-NEXT: jalr zero, a0, %lo(.LBB1_2)
36; CHECK-NEXT: .LBB1_1: # %iftrue
37; CHECK-NEXT: #APP
38; CHECK-NEXT: #NO_APP
39; CHECK-NEXT: #APP
40; CHECK-NEXT: .space 1048576
41; CHECK-NEXT: #NO_APP
Alex Bradbury7d6aa1f2018-01-18 11:34:02 +000042; CHECK-NEXT: addi a0, zero, 1
43; CHECK-NEXT: ret
Alex Bradbury315cd3a2018-01-10 21:05:07 +000044; CHECK-NEXT: .LBB1_2: # %jmp
45; CHECK-NEXT: #APP
46; CHECK-NEXT: #NO_APP
Alex Bradbury315cd3a2018-01-10 21:05:07 +000047; CHECK-NEXT: addi a0, zero, 1
Alex Bradbury315cd3a2018-01-10 21:05:07 +000048; CHECK-NEXT: ret
49 br i1 %a, label %iftrue, label %jmp
50
51jmp:
52 call void asm sideeffect "", ""()
53 br label %tail
54
55iftrue:
56 call void asm sideeffect "", ""()
57 br label %space
58
59space:
60 call void asm sideeffect ".space 1048576", ""()
61 br label %tail
62
63tail:
64 ret i32 1
65}