xref: /llvm-project/llvm/test/CodeGen/CSKY/inline-asm-clobbers.ll (revision a190fcdfcc54587f8dc3b574e0f4ebb7e6c67000)
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
8
9define 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
23;
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
41;
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
59
60  tail call void asm sideeffect "", "~{fr8},~{fr9},~{r4},~{r7}"()
61  ret void
62}
63