Adjust loongarch assembly test

This generates different code on loongarch32r now.
This commit is contained in:
Nikita Popov 2026-01-27 12:03:48 +01:00
parent 749a27975c
commit e015fc820d

View file

@ -1,10 +1,14 @@
//@ add-minicore //@ add-minicore
//@ revisions: loongarch32 loongarch64 //@ revisions: loongarch32s loongarch32r loongarch64
//@ assembly-output: emit-asm //@ assembly-output: emit-asm
//@[loongarch32] compile-flags: --target loongarch32-unknown-none //@[loongarch32s] compile-flags: --target loongarch32-unknown-none -Ctarget-feature=+32s
//@[loongarch32] needs-llvm-components: loongarch //@[loongarch32s] needs-llvm-components: loongarch
//@[loongarch32r] compile-flags: --target loongarch32-unknown-none
//@[loongarch32r] needs-llvm-components: loongarch
//@[loongarch32r] min-llvm-version: 22
//@[loongarch64] compile-flags: --target loongarch64-unknown-none //@[loongarch64] compile-flags: --target loongarch64-unknown-none
//@[loongarch64] needs-llvm-components: loongarch //@[loongarch64] needs-llvm-components: loongarch
@ -28,8 +32,12 @@ extern "C" {
// CHECK-LABEL: sym_fn: // CHECK-LABEL: sym_fn:
// CHECK: #APP // CHECK: #APP
// CHECK: pcalau12i $t0, %got_pc_hi20(extern_func) // loongarch64: pcalau12i $t0, %got_pc_hi20(extern_func)
// CHECK: ld.{{[wd]}} $t0, $t0, %got_pc_lo12(extern_func) // loongarch64: ld.d $t0, $t0, %got_pc_lo12(extern_func)
// loongarch32s: pcalau12i $t0, %got_pc_hi20(extern_func)
// loongarch32s: ld.w $t0, $t0, %got_pc_lo12(extern_func)
// loongarch32r: pcaddu12i $t0, %got_pcadd_hi20(extern_func)
// loongarch32r: ld.w $t0, $t0, %got_pcadd_lo12(.Lpcadd_hi0)
// CHECK: #NO_APP // CHECK: #NO_APP
#[no_mangle] #[no_mangle]
pub unsafe fn sym_fn() { pub unsafe fn sym_fn() {
@ -38,8 +46,13 @@ pub unsafe fn sym_fn() {
// CHECK-LABEL: sym_static: // CHECK-LABEL: sym_static:
// CHECK: #APP // CHECK: #APP
// CHECK: pcalau12i $t0, %got_pc_hi20(extern_static) // loongarch64: pcalau12i $t0, %got_pc_hi20(extern_static)
// CHECK: ld.{{[wd]}} $t0, $t0, %got_pc_lo12(extern_static) // loongarch64: ld.d $t0, $t0, %got_pc_lo12(extern_static)
// loongarch32s: pcalau12i $t0, %got_pc_hi20(extern_static)
// loongarch32s: ld.w $t0, $t0, %got_pc_lo12(extern_static)
// loongarch32r: pcaddu12i $t0, %got_pcadd_hi20(extern_static)
// loongarch32r: ld.w $t0, $t0, %got_pcadd_lo12(.Lpcadd_hi1)
// CHECK: #NO_APP // CHECK: #NO_APP
#[no_mangle] #[no_mangle]
pub unsafe fn sym_static() { pub unsafe fn sym_static() {