regression: +270 insts: foo (reserved-regs.ll)

Run:explore-04ca53e65f-20261014-114124
Kind:regression
Category:+270 insts: foo (reserved-regs.ll)
Occurrences:1 in 1 configs, 1 test files
Snippet from:reserved-regs.2aa38eda6c.ll (mutant of reserved-regs.ll) @foo via llvm-extract
Config:-mtriple=riscv64 -mattr=+reserve-x9 -verify-machineinstrs
Local check:reproduces at 04ca53e65f
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

@var = external global [32 x i64]
@G = external global i64
@G.2 = external global i8

define void @foo() {
  %LGV2 = load i8, ptr @G.2, align 1
  %A = alloca [32 x i64], align 8
  %B = and i8 1, %LGV2
  store [32 x i64] poison, ptr %A, align 4
  %LGV = load i64, ptr @G, align 4
  %1 = load volatile [32 x i64], ptr @var, align 4
  store volatile [32 x i64] %1, ptr @var, align 4
  %I = insertvalue [32 x i64] %1, i64 %LGV, 30
  store [32 x i64] %I, ptr %A, align 4
  store i8 %B, ptr poison, align 1
  ret void
}

Reproduce:

llc -mtriple=riscv64 -mattr=+reserve-x9 -verify-machineinstrs -global-isel snippet.ll -o -
llc -mtriple=riscv64 -mattr=+reserve-x9 -verify-machineinstrs -global-isel=0 snippet.ll -o -

Assembly diff (SelectionDAG vs GlobalISel):

--- sdag
+++ gisel
@@ -1,160 +1,430 @@
-addi sp, sp, -464
-sd ra, 456(sp)
-sd s0, 448(sp)
-sd s2, 440(sp)
-sd s3, 432(sp)
-sd s4, 424(sp)
-sd s5, 416(sp)
-sd s6, 408(sp)
-sd s7, 400(sp)
-sd s8, 392(sp)
-sd s9, 384(sp)
-sd s10, 376(sp)
-sd s11, 368(sp)
+addi sp, sp, -688
+sd ra, 680(sp)
+sd s0, 672(sp)
+sd s2, 664(sp)
+sd s3, 656(sp)
+sd s4, 648(sp)
+sd s5, 640(sp)
+sd s6, 632(sp)
+sd s7, 624(sp)
+sd s8, 616(sp)
+sd s9, 608(sp)
+sd s10, 600(sp)
+sd s11, 592(sp)
 lui a0, %hi(G.2)
 lui a1, %hi(G)
+lui a2, %hi(var)
+addi a1, a1, %lo(G)
+addi t4, a2, %lo(var)
+lwu a2, 0(a1)
+lw a1, 4(a1)
 lbu a0, %lo(G.2)(a0)
-sd a0, 80(sp)
-ld a0, %lo(G)(a1)
+sd a0, 184(sp)
+lwu a0, 0(t4)
+lw a3, 4(t4)
+lwu a4, 8(t4)
+lw a5, 12(t4)
+lwu a6, 16(t4)
+slli a1, a1, 32
+lw a7, 20(t4)
+lwu t0, 24(t4)
+lw t1, 28(t4)
+or a1, a1, a2
+sd a1, 176(sp)
+slli a3, a3, 32
+slli a5, a5, 32
+or t6, a3, a0
+or t5, a5, a4
+slli a7, a7, 32
+slli t1, t1, 32
+lwu a0, 32(t4)
+lw a1, 36(t4)
+lwu a2, 40(t4)
+lw a3, 44(t4)
+lwu a4, 48(t4)
+lw a5, 52(t4)
+lwu t2, 56(t4)
+lw t3, 60(t4)
+or s0, a7, a6
+or s2, t1, t0
+slli a1, a1, 32
+slli a3, a3, 32
+or s3, a1, a0
+or s4, a3, a2
+slli a5, a5, 32
+slli t3, t3, 32
+lwu a0, 64(t4)
+lw a1, 68(t4)
+lwu a2, 72(t4)
+lw a3, 76(t4)
+lwu a6, 80(t4)
+lw a7, 84(t4)
+lwu t0, 88(t4)
+lw t1, 92(t4)
+or s5, a5, a4
+or s6, t3, t2
+slli a1, a1, 32
+slli a3, a3, 32
+or s7, a1, a0
+or s8, a3, a2
+slli a7, a7, 32
+slli t1, t1, 32
+lwu a0, 96(t4)
+lw a1, 100(t4)
+lwu a2, 104(t4)
+lw a3, 108(t4)
+lwu a4, 112(t4)
+lw a5, 116(t4)
+lwu t2, 120(t4)
+lw t3, 124(t4)
+or a6, a7, a6
+sd a6, 328(sp)
+or s9, t1, t0
+slli a1, a1, 32
+slli a3, a3, 32
+or a0, a1, a0
+sd a0, 320(sp)
+or a2, a3, a2
+sd a2, 312(sp)
+slli a5, a5, 32
+slli t3, t3, 32
+lwu a0, 128(t4)
+lw a1, 132(t4)
+lwu a2, 136(t4)
+lw a3, 140(t4)
+lwu a6, 144(t4)
+lw a7, 148(t4)
+lwu t0, 152(t4)
+lw t1, 156(t4)
+or a4, a5, a4
+sd a4, 304(sp)
+or a4, t3, t2
+sd a4, 296(sp)
+slli a1, a1, 32
+slli a3, a3, 32
+or a0, a1, a0
+sd a0, 288(sp)
+or a2, a3, a2
+sd a2, 280(sp)
+slli a7, a7, 32
+slli t1, t1, 32
+lwu a0, 160(t4)
+lw a1, 164(t4)
+lwu a2, 168(t4)
+lw a3, 172(t4)
+lwu a4, 176(t4)
+lw a5, 180(t4)
+lwu t2, 184(t4)
+lw t3, 188(t4)
+or a6, a7, a6
+sd a6, 272(sp)
+or a6, t1, t0
+sd a6, 264(sp)
+slli a1, a1, 32
+slli a3, a3, 32
+or a0, a1, a0
+sd a0, 256(sp)
+or a2, a3, a2
+sd a2, 248(sp)
+slli a5, a5, 32
+slli t3, t3, 32
+lwu a0, 192(t4)
+lw a1, 196(t4)
+lwu a2, 200(t4)
+lw a3, 204(t4)
+lwu a6, 208(t4)
+lw a7, 212(t4)
+lwu t0, 216(t4)
+lw t1, 220(t4)
+or a4, a5, a4
+sd a4, 240(sp)
+or a4, t3, t2
+sd a4, 232(sp)
+slli a1, a1, 32
+slli a3, a3, 32
+or a0, a1, a0
+sd a0, 224(sp)
+or a2, a3, a2
+sd a2, 216(sp)
+slli a7, a7, 32
+slli t1, t1, 32
+lwu a0, 224(t4)
+lw a1, 228(t4)
+lwu a2, 232(t4)
+lw a3, 236(t4)
+lwu a4, 240(t4)
+lw a5, 244(t4)
+lwu t2, 248(t4)
+lw t3, 252(t4)
+or a6, a7, a6
+sd a6, 208(sp)
+or a6, t1, t0
+sd a6, 200(sp)
+slli a1, a1, 32
+slli a3, a3, 32
+or a1, a1, a0
+or a3, a3, a2
+slli a5, a5, 32
+slli t3, t3, 32
+or a4, a5, a4
+sd a4, 40(sp)
+or a0, t3, t2
+sd a0, 192(sp)
+sd t6, 160(sp)
+sw t6, 0(t4)
+srli a0, t6, 32
+sd a0, 168(sp)
+sw a0, 4(t4)
+sd t5, 152(sp)
+srli a0, t5, 32
 sd a0, 72(sp)
-lui s8, %hi(var)
-addi s8, s8, %lo(var)
-ld a0, 0(s8)
-sd a0, 64(sp)
-ld a0, 8(s8)
-sd a0, 56(sp)
-ld a0, 16(s8)
+sw t5, 8(t4)
+sw a0, 12(t4)
+sd s0, 144(sp)
+sw s0, 16(t4)
+srli s0, s0, 32
+sd s0, 64(sp)
+sw s0, 20(t4)
+sd s2, 136(sp)
+srli a0, s2, 32
 sd a0, 48(sp)
-ld a0, 24(s8)
-sd a0, 104(sp)
-ld a0, 32(s8)
-sd a0, 96(sp)
-ld a0, 40(s8)
-sd a0, 88(sp)
-ld ra, 48(s8)
-ld s6, 56(s8)
-ld s5, 64(s8)
-ld s4, 72(s8)
-ld s3, 80(s8)
-ld s2, 88(s8)
-ld t4, 96(s8)
-ld t3, 104(s8)
-ld t2, 112(s8)
-ld t1, 120(s8)
-ld t0, 128(s8)
-ld a7, 136(s8)
-ld a6, 144(s8)
-sd a6, 40(sp)
-ld a5, 152(s8)
-ld a4, 160(s8)
-sd a4, 8(sp)
-ld a3, 168(s8)
-sd a3, 16(sp)
-ld a2, 176(s8)
-sd a2, 24(sp)
-ld a1, 184(s8)
-sd a1, 32(sp)
-ld s9, 192(s8)
-ld s10, 200(s8)
-ld s11, 208(s8)
-ld s7, 216(s8)
-ld t6, 224(s8)
-ld t5, 232(s8)
-ld a0, 240(s8)
-ld s0, 248(s8)
-sd s0, 248(s8)
-sd a0, 240(s8)
-sd t5, 232(s8)
-sd t6, 224(s8)
-sd s7, 216(s8)
-sd s11, 208(s8)
-sd s10, 200(s8)
-sd s9, 192(s8)
-sd a1, 184(s8)
-sd a2, 176(s8)
-sd a3, 168(s8)
-sd a4, 160(s8)
-sd a5, 152(s8)
-sd a6, 144(s8)
-sd a7, 136(s8)
-sd t0, 128(s8)
-sd t1, 120(s8)
-sd t2, 112(s8)
-sd t3, 104(s8)
-sd t4, 96(s8)
-sd s2, 88(s8)
-sd s3, 80(s8)
-sd s4, 72(s8)
-sd s5, 64(s8)
-sd s6, 56(s8)
-sd ra, 48(s8)
+sw s2, 24(t4)
+sw a0, 28(t4)
+sd s3, 128(sp)
+sw s3, 32(t4)
+srli a0, s3, 32
+sd a0, 24(sp)
+sw a0, 36(t4)
+sd s4, 120(sp)
+srli a0, s4, 32
+sd a0, 16(sp)
+sw s4, 40(t4)
+sw a0, 44(t4)
+sd s5, 112(sp)
+sw s5, 48(t4)
+srli ra, s5, 32
+sw ra, 52(t4)
+sd s6, 104(sp)
+srli a0, s6, 32
+sd a0, 8(sp)
+sw s6, 56(t4)
+sw a0, 60(t4)
+sd s7, 96(sp)
+sw s7, 64(t4)
+srli s10, s7, 32
+sw s10, 68(t4)
+sd s8, 88(sp)
+srli s11, s8, 32
+sw s8, 72(t4)
+sw s11, 76(t4)
+ld a0, 328(sp)
+sw a0, 80(t4)
+srli s8, a0, 32
+sw s8, 84(t4)
+mv a0, s9
+sd s9, 80(sp)
+srli s9, s9, 32
+sw a0, 88(t4)
+sw s9, 92(t4)
+ld a0, 320(sp)
+sw a0, 96(t4)
+srli s6, a0, 32
+sw s6, 100(t4)
+ld a0, 312(sp)
+srli s7, a0, 32
+sw a0, 104(t4)
+sw s7, 108(t4)
+ld a0, 304(sp)
+sw a0, 112(t4)
+srli s4, a0, 32
+sw s4, 116(t4)
+ld a0, 296(sp)
+srli s5, a0, 32
+sw a0, 120(t4)
+sw s5, 124(t4)
+ld a0, 288(sp)
+sw a0, 128(t4)
+srli s2, a0, 32
+sw s2, 132(t4)
+ld a0, 280(sp)
+srli s3, a0, 32
+sw a0, 136(t4)
+sw s3, 140(t4)
+ld a0, 272(sp)
+sw a0, 144(t4)
+srli t6, a0, 32
+sw t6, 148(t4)
+ld a0, 264(sp)
+srli s0, a0, 32
+sw a0, 152(t4)
+sw s0, 156(t4)
+ld a0, 256(sp)
+sw a0, 160(t4)
+srli t3, a0, 32
+sw t3, 164(t4)
+ld a0, 248(sp)
+srli t5, a0, 32
+sw a0, 168(t4)
+sw t5, 172(t4)
+ld a0, 240(sp)
+sw a0, 176(t4)
+srli t1, a0, 32
+sw t1, 180(t4)
+ld a0, 232(sp)
+srli t2, a0, 32
+sw a0, 184(t4)
+sw t2, 188(t4)
+ld a0, 224(sp)
+sw a0, 192(t4)
+srli a7, a0, 32
+sw a7, 196(t4)
+ld a0, 216(sp)
+srli t0, a0, 32
+sw a0, 200(t4)
+sw t0, 204(t4)
+ld a0, 208(sp)
+sw a0, 208(t4)
+srli a6, a0, 32
+sw a6, 212(t4)
+ld a0, 200(sp)
+srli a4, a0, 32
+sw a0, 216(t4)
+sw a4, 220(t4)
+sd a1, 56(sp)
+sw a1, 224(t4)
+srli a2, a1, 32
+sw a2, 228(t4)
+sd a3, 32(sp)
+srli a5, a3, 32
+sw a3, 232(t4)
+sw a5, 236(t4)
+ld a0, 40(sp)
+sw a0, 240(t4)
+srli a0, a0, 32
+sw a0, 244(t4)
+ld a3, 192(sp)
+sw a3, 248(t4)
+addi a0, sp, 336
+srli a3, a3, 32
+sw a3, 252(t4)
+ld a1, 72(sp)
+sw a1, 12(a0)
+ld a1, 64(sp)
+sw a1, 20(a0)
+ld a1, 48(sp)
+sw a1, 28(a0)
+ld a1, 24(sp)
+sw a1, 36(a0)
+ld a1, 16(sp)
+sw a1, 44(a0)
+sw ra, 52(a0)
+ld a1, 8(sp)
+sw a1, 60(a0)
+sw s10, 68(a0)
+sw s11, 76(a0)
+sw s8, 84(a0)
+sw s9, 92(a0)
+sw s6, 100(a0)
+sw s7, 108(a0)
+sw s4, 116(a0)
+sw s5, 124(a0)
+sw s2, 132(a0)
+sw s3, 140(a0)
+sw t6, 148(a0)
+sw s0, 156(a0)
+sw t3, 164(a0)
+sw t5, 172(a0)
+sw t1, 180(a0)
+sw t2, 188(a0)
+sw a7, 196(a0)
+sw t0, 204(a0)
+sw a6, 212(a0)
+sw a4, 220(a0)
+sw a2, 228(a0)
+ld a4, 176(sp)
+srli a2, a4, 32
+sw a5, 236(a0)
+sw a2, 244(a0)
+sw a3, 252(a0)
+ld a0, 160(sp)
+sw a0, 336(sp)
+ld a0, 168(sp)
+sw a0, 340(sp)
+ld a0, 152(sp)
+sw a0, 344(sp)
+ld a0, 144(sp)
+sw a0, 352(sp)
+ld a0, 136(sp)
+sw a0, 360(sp)
+ld a0, 128(sp)
+sw a0, 368(sp)
+ld a0, 120(sp)
+sw a0, 376(sp)
+ld a0, 112(sp)
+sw a0, 384(sp)
+ld a0, 104(sp)
+sw a0, 392(sp)
+ld a0, 96(sp)
+sw a0, 400(sp)
 ld a0, 88(sp)
-sd a0, 40(s8)
-ld a0, 96(sp)
-sd a0, 32(s8)
-ld a0, 104(sp)
-sd a0, 24(s8)
-ld a1, 48(sp)
-sd a1, 16(s8)
+sw a0, 408(sp)
+ld a0, 328(sp)
+sw a0, 416(sp)
+ld a0, 80(sp)
+sw a0, 424(sp)
+ld a0, 320(sp)
+sw a0, 432(sp)
+ld a0, 312(sp)
+sw a0, 440(sp)
+ld a0, 304(sp)
+sw a0, 448(sp)
+ld a0, 296(sp)
+sw a0, 456(sp)
+ld a0, 288(sp)
+sw a0, 464(sp)
+ld a0, 280(sp)
+sw a0, 472(sp)
+ld a0, 272(sp)
+sw a0, 480(sp)
+ld a0, 264(sp)
+sw a0, 488(sp)
+ld a0, 256(sp)
+sw a0, 496(sp)
+ld a0, 248(sp)
+sw a0, 504(sp)
+ld a0, 240(sp)
+sw a0, 512(sp)
+ld a0, 232(sp)
+sw a0, 520(sp)
+ld a0, 224(sp)
+sw a0, 528(sp)
+ld a0, 216(sp)
+sw a0, 536(sp)
+ld a0, 208(sp)
+sw a0, 544(sp)
+ld a0, 200(sp)
+sw a0, 552(sp)
 ld a0, 56(sp)
-sd a0, 8(s8)
-ld a6, 64(sp)
-sd a6, 0(s8)
-sd t6, 336(sp)
-sd t5, 344(sp)
-ld a4, 72(sp)
-sd a4, 352(sp)
-sd s0, 360(sp)
-sd s9, 304(sp)
-sd s10, 312(sp)
-sd s11, 320(sp)
-sd s7, 328(sp)
-ld a4, 8(sp)
-sd a4, 272(sp)
-ld a4, 16(sp)
-sd a4, 280(sp)
-ld a4, 24(sp)
-sd a4, 288(sp)
-ld a4, 32(sp)
-sd a4, 296(sp)
-sd t0, 240(sp)
-sd a7, 248(sp)
-ld a4, 40(sp)
-sd a4, 256(sp)
-sd a5, 264(sp)
-sd t4, 208(sp)
-sd t3, 216(sp)
-sd t2, 224(sp)
-sd t1, 232(sp)
-sd s5, 176(sp)
-sd s4, 184(sp)
-sd s3, 192(sp)
-sd s2, 200(sp)
-ld a3, 96(sp)
-sd a3, 144(sp)
-ld a2, 88(sp)
-sd a2, 152(sp)
-sd ra, 160(sp)
-sd s6, 168(sp)
-sd a6, 112(sp)
-sd a0, 120(sp)
-sd a1, 128(sp)
-ld a0, 80(sp)
+sw a0, 560(sp)
+ld a0, 32(sp)
+sw a0, 568(sp)
+sw a4, 576(sp)
+ld a0, 184(sp)
 andi a0, a0, 1
-ld a1, 104(sp)
-sd a1, 136(sp)
+ld a1, 192(sp)
+sw a1, 584(sp)
 sb a0, 0(a0)
-ld ra, 456(sp)
-ld s0, 448(sp)
-ld s2, 440(sp)
-ld s3, 432(sp)
-ld s4, 424(sp)
-ld s5, 416(sp)
-ld s6, 408(sp)
-ld s7, 400(sp)
-ld s8, 392(sp)
-ld s9, 384(sp)
-ld s10, 376(sp)
-ld s11, 368(sp)
-addi sp, sp, 464
+ld ra, 680(sp)
+ld s0, 672(sp)
+ld s2, 664(sp)
+ld s3, 656(sp)
+ld s4, 648(sp)
+ld s5, 640(sp)
+ld s6, 632(sp)
+ld s7, 624(sp)
+ld s8, 616(sp)
+ld s9, 608(sp)
+ld s10, 600(sp)
+ld s11, 592(sp)
+addi sp, sp, 688
 ret

Occurrences (1):

InputFunctionConfig
reserved-regs.2aa38eda6c.ll (mutant of reserved-regs.ll)foo-mtriple=riscv64 -mattr=+reserve-x9 -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.