brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 6c96f90 Raw
63 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=m68k-freestanding -verify-machineinstrs | FileCheck %s3 4define fastcc i16 @switch_to_btst(i16 %a) nounwind {5; CHECK-LABEL: switch_to_btst:6; CHECK:       ; %bb.0: ; %entry7; CHECK-NEXT:    move.l %d0, %d18; CHECK-NEXT:    and.l #65535, %d19; CHECK-NEXT:    sub.l #11, %d110; CHECK-NEXT:    bhi .LBB0_311; CHECK-NEXT:  ; %bb.1: ; %entry12; CHECK-NEXT:    and.l #65535, %d013; CHECK-NEXT:    move.l #3612, %d114; CHECK-NEXT:    btst %d0, %d115; CHECK-NEXT:    beq .LBB0_316; CHECK-NEXT:  ; %bb.2: ; %match17; CHECK-NEXT:    moveq #1, %d018; CHECK-NEXT:    rts19; CHECK-NEXT:  .LBB0_3: ; %no_match20; CHECK-NEXT:    moveq #0, %d021; CHECK-NEXT:    rts22  entry:23    switch i16 %a, label %no_match [24      i16 11, label %match25      i16 10, label %match26      i16 9, label %match27      i16 4, label %match28      i16 3, label %match29      i16 2, label %match30    ]31 32  match:33    ret i16 134 35  no_match:36    ret i16 037}38 39define fastcc i16 @and_mask_to_btst(i8 %a, i8 %b) nounwind {40; CHECK-LABEL: and_mask_to_btst:41; CHECK:       ; %bb.0:42; CHECK-NEXT:    and.l #7, %d143; CHECK-NEXT:    btst %d1, %d044; CHECK-NEXT:    beq .LBB1_145; CHECK-NEXT:  ; %bb.2: ; %cond_false46; CHECK-NEXT:    moveq #0, %d047; CHECK-NEXT:    rts48; CHECK-NEXT:  .LBB1_1: ; %cond_true49; CHECK-NEXT:    moveq #1, %d050; CHECK-NEXT:    rts51  %33 = and i8 %b, 752  %34 = shl nuw i8 1, %3353  %35 = and i8 %34, %a54  %.not = icmp eq i8 %35, 055  br i1 %.not, label %cond_true, label %cond_false56 57  cond_true:58    ret i16 159 60  cond_false:61    ret i16 062}63