brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · c4fae6a Raw
76 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=m68k-linux -verify-machineinstrs | FileCheck %s3 4; op reg, reg5 6define zeroext i8 @lslb(i8 zeroext %a, i8 zeroext %b) nounwind {7; CHECK-LABEL: lslb:8; CHECK:       ; %bb.0:9; CHECK-NEXT:    move.b (11,%sp), %d010; CHECK-NEXT:    move.b (7,%sp), %d111; CHECK-NEXT:    lsl.b %d0, %d112; CHECK-NEXT:    move.l %d1, %d013; CHECK-NEXT:    and.l #255, %d014; CHECK-NEXT:    rts15  %1 = shl i8 %a, %b16  ret i8 %117}18 19define zeroext i16 @lslw(i16 zeroext %a, i16 zeroext %b) nounwind {20; CHECK-LABEL: lslw:21; CHECK:       ; %bb.0:22; CHECK-NEXT:    move.w (10,%sp), %d023; CHECK-NEXT:    move.w (6,%sp), %d124; CHECK-NEXT:    lsl.w %d0, %d125; CHECK-NEXT:    move.l %d1, %d026; CHECK-NEXT:    and.l #65535, %d027; CHECK-NEXT:    rts28  %1 = shl i16 %a, %b29  ret i16 %130}31 32define i32 @lsll(i32 %a, i32 %b) nounwind {33; CHECK-LABEL: lsll:34; CHECK:       ; %bb.0:35; CHECK-NEXT:    move.l (8,%sp), %d136; CHECK-NEXT:    move.l (4,%sp), %d037; CHECK-NEXT:    lsl.l %d1, %d038; CHECK-NEXT:    rts39  %1 = shl i32 %a, %b40  ret i32 %141}42 43; op reg, imm44 45define zeroext i8 @lslib(i8 zeroext %a) nounwind {46; CHECK-LABEL: lslib:47; CHECK:       ; %bb.0:48; CHECK-NEXT:    move.b (7,%sp), %d049; CHECK-NEXT:    lsl.b #3, %d050; CHECK-NEXT:    and.l #255, %d051; CHECK-NEXT:    rts52  %1 = shl i8 %a, 353  ret i8 %154}55 56define zeroext i16 @lsliw(i16 zeroext %a) nounwind {57; CHECK-LABEL: lsliw:58; CHECK:       ; %bb.0:59; CHECK-NEXT:    move.w (6,%sp), %d060; CHECK-NEXT:    lsl.w #5, %d061; CHECK-NEXT:    and.l #65535, %d062; CHECK-NEXT:    rts63  %1 = shl i16 %a, 564  ret i16 %165}66 67define i32 @lslil(i32 %a) nounwind {68; CHECK-LABEL: lslil:69; CHECK:       ; %bb.0:70; CHECK-NEXT:    move.l (4,%sp), %d071; CHECK-NEXT:    lsl.l #7, %d072; CHECK-NEXT:    rts73  %1 = shl i32 %a, 774  ret i32 %175}76