4
4
;RUN: llc < %s -mtriple=riscv64 -mattr=+f,+lui-addi-fusion -mcpu=sifive-u74 \
5
5
;RUN: -target-abi=lp64f | FileCheck %s --check-prefix=FUSION
6
6
;RUN: llc < %s -mtriple=riscv64 -mattr=+f,+lui-addi-fusion,+use-postra-scheduler -mcpu=sifive-u74 \
7
- ;RUN: -target-abi=lp64f | FileCheck %s --check-prefixes=FUSION-POSTRA
7
+ ;RUN: -misched-postra-direction=topdown -target-abi=lp64f \
8
+ ;RUN: | FileCheck %s --check-prefixes=FUSION-POSTRA,FUSION-POSTRA-TOPDOWN
9
+ ;RUN: llc < %s -mtriple=riscv64 -mattr=+f,+lui-addi-fusion,+use-postra-scheduler -mcpu=sifive-u74 \
10
+ ;RUN: -misched-postra-direction=bottomup -target-abi=lp64f \
11
+ ;RUN: | FileCheck %s --check-prefixes=FUSION-POSTRA,FUSION-POSTRA-BOTTOMUP
12
+ ;RUN: llc < %s -mtriple=riscv64 -mattr=+f,+lui-addi-fusion,+use-postra-scheduler -mcpu=sifive-u74 \
13
+ ;RUN: -misched-postra-direction=bidirectional -target-abi=lp64f \
14
+ ;RUN: | FileCheck %s --check-prefixes=FUSION-POSTRA,FUSION-POSTRA-BIDIRECTIONAL
8
15
9
16
@.str = private constant [4 x i8 ] c "%f\0A\00 " , align 1
10
17
@@ -23,12 +30,26 @@ define void @foo(i32 signext %0, i32 signext %1) {
23
30
; FUSION-NEXT: fcvt.s.w fa0, a1
24
31
; FUSION-NEXT: tail bar
25
32
;
26
- ; FUSION-POSTRA-LABEL: foo:
27
- ; FUSION-POSTRA: # %bb.0:
28
- ; FUSION-POSTRA-NEXT: lui a0, %hi(.L.str)
29
- ; FUSION-POSTRA-NEXT: addi a0, a0, %lo(.L.str)
30
- ; FUSION-POSTRA-NEXT: fcvt.s.w fa0, a1
31
- ; FUSION-POSTRA-NEXT: tail bar
33
+ ; FUSION-POSTRA-TOPDOWN-LABEL: foo:
34
+ ; FUSION-POSTRA-TOPDOWN: # %bb.0:
35
+ ; FUSION-POSTRA-TOPDOWN-NEXT: lui a0, %hi(.L.str)
36
+ ; FUSION-POSTRA-TOPDOWN-NEXT: addi a0, a0, %lo(.L.str)
37
+ ; FUSION-POSTRA-TOPDOWN-NEXT: fcvt.s.w fa0, a1
38
+ ; FUSION-POSTRA-TOPDOWN-NEXT: tail bar
39
+ ;
40
+ ; FUSION-POSTRA-BOTTOMUP-LABEL: foo:
41
+ ; FUSION-POSTRA-BOTTOMUP: # %bb.0:
42
+ ; FUSION-POSTRA-BOTTOMUP-NEXT: fcvt.s.w fa0, a1
43
+ ; FUSION-POSTRA-BOTTOMUP-NEXT: lui a0, %hi(.L.str)
44
+ ; FUSION-POSTRA-BOTTOMUP-NEXT: addi a0, a0, %lo(.L.str)
45
+ ; FUSION-POSTRA-BOTTOMUP-NEXT: tail bar
46
+ ;
47
+ ; FUSION-POSTRA-BIDIRECTIONAL-LABEL: foo:
48
+ ; FUSION-POSTRA-BIDIRECTIONAL: # %bb.0:
49
+ ; FUSION-POSTRA-BIDIRECTIONAL-NEXT: lui a0, %hi(.L.str)
50
+ ; FUSION-POSTRA-BIDIRECTIONAL-NEXT: fcvt.s.w fa0, a1
51
+ ; FUSION-POSTRA-BIDIRECTIONAL-NEXT: addi a0, a0, %lo(.L.str)
52
+ ; FUSION-POSTRA-BIDIRECTIONAL-NEXT: tail bar
32
53
%3 = sitofp i32 %1 to float
33
54
tail call void @bar (ptr @.str , float %3 )
34
55
ret void
0 commit comments