1; RUN: llc --mtriple=loongarch32 --filetype=obj %s -o %t-la32s 2; RUN: llvm-readelf -h %t-la32s | FileCheck %s --check-prefixes=ILP32,ABI-S --match-full-lines 3 4; RUN: llc --mtriple=loongarch32 -mattr=+d --filetype=obj %s -o %t-la32 5; RUN: llvm-readelf -h %t-la32 | FileCheck %s --check-prefixes=ILP32,ABI-D --match-full-lines 6 7; RUN: llc --mtriple=loongarch32 --filetype=obj %s --target-abi=ilp32s -o %t-ilp32s 8; RUN: llvm-readelf -h %t-ilp32s | FileCheck %s --check-prefixes=ILP32,ABI-S --match-full-lines 9 10; RUN: llc --mtriple=loongarch32 -mattr=+f --filetype=obj %s --target-abi=ilp32f -o %t-ilp32f 11; RUN: llvm-readelf -h %t-ilp32f | FileCheck %s --check-prefixes=ILP32,ABI-F --match-full-lines 12 13; RUN: llc --mtriple=loongarch32 -mattr=+d --filetype=obj %s --target-abi=ilp32d -o %t-ilp32d 14; RUN: llvm-readelf -h %t-ilp32d | FileCheck %s --check-prefixes=ILP32,ABI-D --match-full-lines 15 16; RUN: llc --mtriple=loongarch64 --filetype=obj %s -o %t-la64d 17; RUN: llvm-readelf -h %t-la64d | FileCheck %s --check-prefixes=LP64,ABI-D --match-full-lines 18 19; RUN: llc --mtriple=loongarch64 -mattr=+d --filetype=obj %s -o %t-la64 20; RUN: llvm-readelf -h %t-la64 | FileCheck %s --check-prefixes=LP64,ABI-D --match-full-lines 21 22; RUN: llc --mtriple=loongarch64 --filetype=obj %s --target-abi=lp64s -o %t-lp64s 23; RUN: llvm-readelf -h %t-lp64s | FileCheck %s --check-prefixes=LP64,ABI-S --match-full-lines 24 25; RUN: llc --mtriple=loongarch64 -mattr=+f --filetype=obj %s --target-abi=lp64f -o %t-lp64f 26; RUN: llvm-readelf -h %t-lp64f | FileCheck %s --check-prefixes=LP64,ABI-F --match-full-lines 27 28; RUN: llc --mtriple=loongarch64 --filetype=obj %s --mattr=+d --target-abi=lp64d -o %t-lp64d 29; RUN: llvm-readelf -h %t-lp64d | FileCheck %s --check-prefixes=LP64,ABI-D --match-full-lines 30 31; LP64: Class: ELF64 32; ILP32: Class: ELF32 33 34; ABI-S: Flags: 0x41, SOFT-FLOAT, OBJ-v1 35; ABI-F: Flags: 0x42, SINGLE-FLOAT, OBJ-v1 36; ABI-D: Flags: 0x43, DOUBLE-FLOAT, OBJ-v1 37 38define void @foo() { 39 ret void 40} 41