brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · bec92a5 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 @lsrb(i8 zeroext %a, i8 zeroext %b) nounwind {7; CHECK-LABEL: lsrb:8; CHECK:       ; %bb.0:9; CHECK-NEXT:    move.b (11,%sp), %d010; CHECK-NEXT:    move.b (7,%sp), %d111; CHECK-NEXT:    lsr.b %d0, %d112; CHECK-NEXT:    move.l %d1, %d013; CHECK-NEXT:    and.l #255, %d014; CHECK-NEXT:    rts15  %1 = lshr i8 %a, %b16  ret i8 %117}18 19define zeroext i16 @lsrw(i16 zeroext %a, i16 zeroext %b) nounwind {20; CHECK-LABEL: lsrw:21; CHECK:       ; %bb.0:22; CHECK-NEXT:    move.w (10,%sp), %d023; CHECK-NEXT:    move.w (6,%sp), %d124; CHECK-NEXT:    lsr.w %d0, %d125; CHECK-NEXT:    move.l %d1, %d026; CHECK-NEXT:    and.l #65535, %d027; CHECK-NEXT:    rts28  %1 = lshr i16 %a, %b29  ret i16 %130}31 32define i32 @lsrl(i32 %a, i32 %b) nounwind {33; CHECK-LABEL: lsrl:34; CHECK:       ; %bb.0:35; CHECK-NEXT:    move.l (8,%sp), %d136; CHECK-NEXT:    move.l (4,%sp), %d037; CHECK-NEXT:    lsr.l %d1, %d038; CHECK-NEXT:    rts39  %1 = lshr i32 %a, %b40  ret i32 %141}42 43; op reg, imm44 45define zeroext i8 @lsrib(i8 zeroext %a) nounwind {46; CHECK-LABEL: lsrib:47; CHECK:       ; %bb.0:48; CHECK-NEXT:    move.b (7,%sp), %d049; CHECK-NEXT:    lsr.b #3, %d050; CHECK-NEXT:    and.l #255, %d051; CHECK-NEXT:    rts52  %1 = lshr i8 %a, 353  ret i8 %154}55 56define zeroext i16 @lsriw(i16 zeroext %a) nounwind {57; CHECK-LABEL: lsriw:58; CHECK:       ; %bb.0:59; CHECK-NEXT:    move.w (6,%sp), %d060; CHECK-NEXT:    lsr.w #5, %d061; CHECK-NEXT:    and.l #65535, %d062; CHECK-NEXT:    rts63  %1 = lshr i16 %a, 564  ret i16 %165}66 67define i32 @lsril(i32 %a) nounwind {68; CHECK-LABEL: lsril:69; CHECK:       ; %bb.0:70; CHECK-NEXT:    move.l (4,%sp), %d071; CHECK-NEXT:    lsr.l #7, %d072; CHECK-NEXT:    rts73  %1 = lshr i32 %a, 774  ret i32 %175}76