[RISCV] Add shrinkwrap test cases showing gaps in current impl
[llvm-project.git] / llvm / test / CodeGen / CSKY / inline-asm-clobbers.ll
blob12a4bd4e33e864607b6c6e3e7a4aa1bde877568b
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:
11 ; CSKYI:       # %bb.0:
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
16 ; CSKYI-NEXT:    #APP
17 ; CSKYI-NEXT:    #NO_APP
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
22 ; CSKYI-NEXT:    rts16
24 ; CSKYIF-LABEL: testcase:
25 ; CSKYIF:       # %bb.0:
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
32 ; CSKYIF-NEXT:    #APP
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
40 ; CSKYIF-NEXT:    rts16
42 ; CSKYID-LABEL: testcase:
43 ; CSKYID:       # %bb.0:
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
50 ; CSKYID-NEXT:    #APP
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
58 ; CSKYID-NEXT:    rts16
60   tail call void asm sideeffect "", "~{fr8},~{fr9},~{r4},~{r7}"()
61   ret void