[llvm] [Codegen][LegalizeIntegerTypes] Improve shift through stack (PR #96151)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 3 05:25:24 PDT 2024
================
@@ -398,197 +398,159 @@ define signext i128 @lshr_i128(i128 signext %a, i128 signext %b) {
; MIPS2: # %bb.0: # %entry
; MIPS2-NEXT: addiu $sp, $sp, -32
; MIPS2-NEXT: .cfi_def_cfa_offset 32
-; MIPS2-NEXT: swl $7, 28($sp)
-; MIPS2-NEXT: swl $6, 24($sp)
-; MIPS2-NEXT: swl $5, 20($sp)
-; MIPS2-NEXT: swl $4, 16($sp)
-; MIPS2-NEXT: swl $zero, 12($sp)
-; MIPS2-NEXT: swl $zero, 8($sp)
-; MIPS2-NEXT: swl $zero, 4($sp)
-; MIPS2-NEXT: swl $zero, 0($sp)
-; MIPS2-NEXT: addiu $1, $sp, 0
-; MIPS2-NEXT: swr $7, 31($sp)
-; MIPS2-NEXT: swr $6, 27($sp)
-; MIPS2-NEXT: swr $5, 23($sp)
-; MIPS2-NEXT: swr $4, 19($sp)
-; MIPS2-NEXT: swr $zero, 15($sp)
-; MIPS2-NEXT: swr $zero, 11($sp)
-; MIPS2-NEXT: swr $zero, 7($sp)
-; MIPS2-NEXT: swr $zero, 3($sp)
-; MIPS2-NEXT: addiu $1, $1, 16
-; MIPS2-NEXT: lw $2, 60($sp)
-; MIPS2-NEXT: srl $3, $2, 3
-; MIPS2-NEXT: andi $3, $3, 15
-; MIPS2-NEXT: subu $1, $1, $3
-; MIPS2-NEXT: lwl $3, 4($1)
-; MIPS2-NEXT: lwr $3, 7($1)
-; MIPS2-NEXT: sll $4, $3, 1
-; MIPS2-NEXT: lwl $5, 8($1)
-; MIPS2-NEXT: lwr $5, 11($1)
-; MIPS2-NEXT: andi $2, $2, 7
-; MIPS2-NEXT: not $6, $2
-; MIPS2-NEXT: srlv $7, $5, $2
-; MIPS2-NEXT: sllv $4, $4, $6
-; MIPS2-NEXT: srlv $3, $3, $2
-; MIPS2-NEXT: lwl $6, 0($1)
-; MIPS2-NEXT: lwr $6, 3($1)
-; MIPS2-NEXT: sll $8, $6, 1
-; MIPS2-NEXT: xori $9, $2, 31
-; MIPS2-NEXT: sllv $8, $8, $9
-; MIPS2-NEXT: or $3, $3, $8
-; MIPS2-NEXT: or $4, $7, $4
-; MIPS2-NEXT: lwl $7, 12($1)
-; MIPS2-NEXT: lwr $7, 15($1)
-; MIPS2-NEXT: srlv $1, $7, $2
+; MIPS2-NEXT: lw $1, 60($sp)
----------------
arsenm wrote:
This is probably better
https://github.com/llvm/llvm-project/pull/96151
More information about the llvm-commits
mailing list