xref: /llvm-project/llvm/test/CodeGen/RISCV/module-target-abi2.ll (revision 227496dc09cf46df233aad041d6dc6113822e4bb)
11256d680SZakk Chen; RUN: llc -mtriple=riscv32 < %s 2>&1 \
21256d680SZakk Chen; RUN:   | FileCheck -check-prefix=DEFAULT %s
34ad76852SYuanfang Chen; RUN: not --crash llc -mtriple=riscv32 -target-abi ilp32 < %s 2>&1 \
41256d680SZakk Chen; RUN:   | FileCheck -check-prefix=RV32IF-ILP32 %s
51256d680SZakk Chen; RUN: llc -mtriple=riscv32 -target-abi ilp32f < %s 2>&1 \
61256d680SZakk Chen; RUN:   | FileCheck -check-prefix=RV32IF-ILP32F %s
71256d680SZakk Chen; RUN: llc -mtriple=riscv32 -filetype=obj < %s | llvm-readelf -h - | FileCheck -check-prefixes=FLAGS %s
81256d680SZakk Chen
91256d680SZakk Chen; RV32IF-ILP32: -target-abi option != target-abi module flag
101256d680SZakk Chen
11*227496dcSluxufan; FLAGS: Flags: 0x2, single-float ABI
121256d680SZakk Chen
131256d680SZakk Chendefine float @foo(i32 %a) nounwind #0 {
141256d680SZakk Chen; DEFAULT: # %bb.0:
151256d680SZakk Chen; DEFAULT-NEXT: fcvt.s.w fa0, a0
161256d680SZakk Chen; DEFAULT-NEXT: ret
171256d680SZakk Chen; RV32IF-ILP32F: # %bb.0:
181256d680SZakk Chen; RV32IF-ILP32F: fcvt.s.w fa0, a0
191256d680SZakk Chen; RV32IF-ILP32F: ret
201256d680SZakk Chen  %conv = sitofp i32 %a to float
211256d680SZakk Chen  ret float %conv
221256d680SZakk Chen}
231256d680SZakk Chen
241256d680SZakk Chenattributes #0 = { "target-features"="+f"}
251256d680SZakk Chen!llvm.module.flags = !{!0}
261256d680SZakk Chen!0 = !{i32 1, !"target-abi", !"ilp32f"}
27