44;RUN: llc < %s -mtriple=riscv64 -mattr=+f,+lui-addi-fusion -mcpu=sifive-u74 \
55;RUN: -target-abi=lp64f | FileCheck %s --check-prefix=FUSION
66;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
815
916@.str = private constant [4 x i8 ] c "%f\0A\00 " , align 1
1017
@@ -23,12 +30,26 @@ define void @foo(i32 signext %0, i32 signext %1) {
2330; FUSION-NEXT: fcvt.s.w fa0, a1
2431; FUSION-NEXT: tail bar
2532;
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
3253 %3 = sitofp i32 %1 to float
3354 tail call void @bar (ptr @.str , float %3 )
3455 ret void
0 commit comments