27 lines · plain
1; RUN: llc < %s -mtriple=mips64el-unknown-linux-gnu -mcpu=mips64 | FileCheck %s \2; RUN: -check-prefix=MIPS43; RUN: llc < %s -mtriple=mips64el-unknown-linux-gnu -mcpu=mips64r2 | FileCheck %s \4; RUN: -check-prefix=MIPS64R25 6define i64 @foo(i64 noundef %a) {7; MIPS4-LABEL: foo:8; MIPS4: # %bb.0: # %entry9; MIPS4-NEXT: dsrl $1, $4, 210; MIPS4-NEXT: andi $1, $1, 711; MIPS4-NEXT: daddiu $2, $zero, 112; MIPS4-NEXT: jr $ra13; MIPS4-NEXT: dsllv $2, $2, $114;15; MIPS64R2-LABEL: foo:16; MIPS64R2: # %bb.0: # %entry17; MIPS64R2-NEXT: dext $1, $4, 2, 318; MIPS64R2-NEXT: daddiu $2, $zero, 119; MIPS64R2-NEXT: jr $ra20; MIPS64R2-NEXT: dsllv $2, $2, $121entry:22 %div1 = lshr i64 %a, 223 %and = and i64 %div1, 724 %shl = shl nuw nsw i64 1, %and25 ret i64 %shl26}27