1*4e115b7dSZakk Chen; RUN: llc -mtriple=riscv32 -target-abi=ilp32 -verify-machineinstrs < %s \ 28d7ec4d6SSimon Cook; RUN: | FileCheck -check-prefix=RV32I %s 3*4e115b7dSZakk Chen; RUN: llc -mtriple=riscv64 -target-abi=lp64 -verify-machineinstrs < %s \ 48d7ec4d6SSimon Cook; RUN: | FileCheck -check-prefix=RV64I %s 5*4e115b7dSZakk Chen; RUN: llc -mtriple=riscv32 -mattr=+f -target-abi=ilp32 -verify-machineinstrs < %s \ 68d7ec4d6SSimon Cook; RUN: | FileCheck -check-prefix=RV32I %s 7*4e115b7dSZakk Chen; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi=lp64 -verify-machineinstrs < %s \ 88d7ec4d6SSimon Cook; RUN: | FileCheck -check-prefix=RV64I %s 9*4e115b7dSZakk Chen; RUN: llc -mtriple=riscv32 -mattr=+d -target-abi=ilp32 -verify-machineinstrs < %s \ 108d7ec4d6SSimon Cook; RUN: | FileCheck -check-prefix=RV32I %s 11*4e115b7dSZakk Chen; RUN: llc -mtriple=riscv64 -mattr=+d -target-abi=lp64 -verify-machineinstrs < %s \ 128d7ec4d6SSimon Cook; RUN: | FileCheck -check-prefix=RV64I %s 138d7ec4d6SSimon Cook; RUN: llc -mtriple=riscv32 -mattr=+f -target-abi ilp32f -verify-machineinstrs < %s \ 148d7ec4d6SSimon Cook; RUN: | FileCheck -check-prefix=RV32IF %s 158d7ec4d6SSimon Cook; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi lp64f -verify-machineinstrs < %s \ 168d7ec4d6SSimon Cook; RUN: | FileCheck -check-prefix=RV64IF %s 178d7ec4d6SSimon Cook; RUN: llc -mtriple=riscv32 -mattr=+d -target-abi ilp32d -verify-machineinstrs < %s \ 188d7ec4d6SSimon Cook; RUN: | FileCheck -check-prefix=RV32ID %s 198d7ec4d6SSimon Cook; RUN: llc -mtriple=riscv64 -mattr=+d -target-abi lp64d -verify-machineinstrs < %s \ 208d7ec4d6SSimon Cook; RUN: | FileCheck -check-prefix=RV64ID %s 218d7ec4d6SSimon Cook 228d7ec4d6SSimon Cook 238d7ec4d6SSimon Cookdefine void @testcase() nounwind { 248d7ec4d6SSimon Cook; RV32I-LABEL: testcase: 258d7ec4d6SSimon Cook; RV32I: sw s1, {{[0-9]+}}(sp) 268d7ec4d6SSimon Cook; RV32I-NEXT: sw s2, {{[0-9]+}}(sp) 278d7ec4d6SSimon Cook; RV32I-NOT: fsw fs0, {{[0-9]+}}(sp) 288d7ec4d6SSimon Cook; RV32I-NOT: fsd fs0, {{[0-9]+}}(sp) 298d7ec4d6SSimon Cook; 308d7ec4d6SSimon Cook; RV64I-LABEL: testcase: 318d7ec4d6SSimon Cook; RV64I: sd s1, {{[0-9]+}}(sp) 328d7ec4d6SSimon Cook; RV64I-NEXT: sd s2, {{[0-9]+}}(sp) 338d7ec4d6SSimon Cook; RV64I-NOT: fsw fs0, {{[0-9]+}}(sp) 348d7ec4d6SSimon Cook; RV64I-NOT: fsd fs0, {{[0-9]+}}(sp) 358d7ec4d6SSimon Cook; 368d7ec4d6SSimon Cook; RV32IF-LABEL: testcase: 378d7ec4d6SSimon Cook; RV32IF: sw s1, {{[0-9]+}}(sp) 388d7ec4d6SSimon Cook; RV32IF-NEXT: sw s2, {{[0-9]+}}(sp) 398d7ec4d6SSimon Cook; RV32IF-NEXT: fsw fs0, {{[0-9]+}}(sp) 408d7ec4d6SSimon Cook; RV32IF-NEXT: fsw fs1, {{[0-9]+}}(sp) 418d7ec4d6SSimon Cook; 428d7ec4d6SSimon Cook; RV64IF-LABEL: testcase: 438d7ec4d6SSimon Cook; RV64IF: sd s1, {{[0-9]+}}(sp) 448d7ec4d6SSimon Cook; RV64IF-NEXT: sd s2, {{[0-9]+}}(sp) 458d7ec4d6SSimon Cook; RV64IF-NEXT: fsw fs0, {{[0-9]+}}(sp) 468d7ec4d6SSimon Cook; RV64IF-NEXT: fsw fs1, {{[0-9]+}}(sp) 478d7ec4d6SSimon Cook; 488d7ec4d6SSimon Cook; RV32ID-LABEL: testcase: 498d7ec4d6SSimon Cook; RV32ID: sw s1, {{[0-9]+}}(sp) 508d7ec4d6SSimon Cook; RV32ID-NEXT: sw s2, {{[0-9]+}}(sp) 518d7ec4d6SSimon Cook; RV32ID-NEXT: fsd fs0, {{[0-9]+}}(sp) 528d7ec4d6SSimon Cook; RV32ID-NEXT: fsd fs1, {{[0-9]+}}(sp) 538d7ec4d6SSimon Cook; 548d7ec4d6SSimon Cook; RV64ID-LABEL: testcase: 558d7ec4d6SSimon Cook; RV64ID: sd s1, {{[0-9]+}}(sp) 568d7ec4d6SSimon Cook; RV64ID-NEXT: sd s2, {{[0-9]+}}(sp) 578d7ec4d6SSimon Cook; RV64ID-NEXT: fsd fs0, {{[0-9]+}}(sp) 588d7ec4d6SSimon Cook; RV64ID-NEXT: fsd fs1, {{[0-9]+}}(sp) 598d7ec4d6SSimon Cook tail call void asm sideeffect "", "~{f8},~{f9},~{x9},~{x18}"() 608d7ec4d6SSimon Cook ret void 618d7ec4d6SSimon Cook} 62