1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=csky -verify-machineinstrs -csky-no-aliases < %s \
3 ; RUN: | FileCheck -check-prefix=CSKYI %s
4 ; RUN: llc -mtriple=csky -mattr=+fpuv2_sf -mattr=+hard-float -float-abi=hard -verify-machineinstrs -csky-no-aliases < %s \
5 ; RUN: | FileCheck -check-prefix=CSKYIF %s
6 ; RUN: llc -mtriple=csky -mattr=+fpuv2_sf -mattr=+fpuv2_df -mattr=+hard-float -float-abi=hard -verify-machineinstrs -csky-no-aliases < %s \
7 ; RUN: | FileCheck -check-prefix=CSKYID %s
9 define void @testcase() nounwind {
10 ; CSKYI-LABEL: testcase:
12 ; CSKYI-NEXT: subi16 sp, sp, 8
13 ; CSKYI-NEXT: st16.w l3, (sp, 4) # 4-byte Folded Spill
14 ; CSKYI-NEXT: st16.w l0, (sp, 0) # 4-byte Folded Spill
15 ; CSKYI-NEXT: subi16 sp, sp, 4
18 ; CSKYI-NEXT: addi16 sp, sp, 4
19 ; CSKYI-NEXT: ld16.w l0, (sp, 0) # 4-byte Folded Reload
20 ; CSKYI-NEXT: ld16.w l3, (sp, 4) # 4-byte Folded Reload
21 ; CSKYI-NEXT: addi16 sp, sp, 8
24 ; CSKYIF-LABEL: testcase:
26 ; CSKYIF-NEXT: subi16 sp, sp, 16
27 ; CSKYIF-NEXT: fsts vr9, (sp, 12) # 4-byte Folded Spill
28 ; CSKYIF-NEXT: fsts vr8, (sp, 8) # 4-byte Folded Spill
29 ; CSKYIF-NEXT: st16.w l3, (sp, 4) # 4-byte Folded Spill
30 ; CSKYIF-NEXT: st16.w l0, (sp, 0) # 4-byte Folded Spill
31 ; CSKYIF-NEXT: subi16 sp, sp, 4
33 ; CSKYIF-NEXT: #NO_APP
34 ; CSKYIF-NEXT: addi16 sp, sp, 4
35 ; CSKYIF-NEXT: ld16.w l0, (sp, 0) # 4-byte Folded Reload
36 ; CSKYIF-NEXT: ld16.w l3, (sp, 4) # 4-byte Folded Reload
37 ; CSKYIF-NEXT: flds vr8, (sp, 8) # 4-byte Folded Reload
38 ; CSKYIF-NEXT: flds vr9, (sp, 12) # 4-byte Folded Reload
39 ; CSKYIF-NEXT: addi16 sp, sp, 16
42 ; CSKYID-LABEL: testcase:
44 ; CSKYID-NEXT: subi16 sp, sp, 24
45 ; CSKYID-NEXT: fstd vr9, (sp, 16) # 8-byte Folded Spill
46 ; CSKYID-NEXT: fstd vr8, (sp, 8) # 8-byte Folded Spill
47 ; CSKYID-NEXT: st16.w l3, (sp, 4) # 4-byte Folded Spill
48 ; CSKYID-NEXT: st16.w l0, (sp, 0) # 4-byte Folded Spill
49 ; CSKYID-NEXT: subi16 sp, sp, 4
51 ; CSKYID-NEXT: #NO_APP
52 ; CSKYID-NEXT: addi16 sp, sp, 4
53 ; CSKYID-NEXT: ld16.w l0, (sp, 0) # 4-byte Folded Reload
54 ; CSKYID-NEXT: ld16.w l3, (sp, 4) # 4-byte Folded Reload
55 ; CSKYID-NEXT: fldd vr8, (sp, 8) # 8-byte Folded Reload
56 ; CSKYID-NEXT: fldd vr9, (sp, 16) # 8-byte Folded Reload
57 ; CSKYID-NEXT: addi16 sp, sp, 24
60 tail call void asm sideeffect "", "~{fr8},~{fr9},~{r4},~{r7}"()