brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · efe0af1 Raw
46 lines · plain
1; RUN: llc -O3 -mcpu=mips64 -mtriple=mips64el-unknown-linux-gnuabi64 < %s -o - | FileCheck %s2 3define noundef signext i32 @xor_and(i32 noundef signext %a, i32 noundef signext %b) local_unnamed_addr {4; CHECK-LABEL: xor_and:5; CHECK:       # %bb.0: # %entry6; CHECK-NEXT:    and $1, $5, $47; CHECK-NEXT:    daddiu $2, $zero, -18; CHECK-NEXT:    jr $ra9; CHECK-NEXT:    xor $2, $1, $210 11entry:12  %0 = and i32 %b, %a13  %or1 = xor i32 %0, -114  ret i32 %or115}16 17define noundef signext i32 @input_i16(i16 noundef signext %a, i16 noundef signext %b) local_unnamed_addr {18; CHECK-LABEL: input_i16:19; CHECK:       # %bb.0: # %entry20; CHECK-NEXT:    and $1, $5, $421; CHECK-NEXT:    daddiu $2, $zero, -122; CHECK-NEXT:    jr $ra23; CHECK-NEXT:    xor $2, $1, $224 25entry:26  %0 = and i16 %b, %a27  %1 = xor i16 %0, -128  %or4 = sext i16 %1 to i3229  ret i32 %or430}31 32define i64 @return_i64(i32 noundef signext %a, i32 noundef signext %b) local_unnamed_addr {33; CHECK-LABEL: return_i64:34; CHECK:       # %bb.0: # %entry35; CHECK-NEXT:    and $1, $5, $436; CHECK-NEXT:    daddiu $2, $zero, -137; CHECK-NEXT:    jr $ra38; CHECK-NEXT:    xor $2, $1, $239 40entry:41  %0 = and i32 %b, %a42  %or1 = xor i32 %0, -143  %conv = sext i32 %or1 to i6444  ret i64 %conv45}46