brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 7cb3e6b Raw
50 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=m68k-linux | FileCheck %s3 4define i8 @mul255_8(i8 %A) {5; CHECK-LABEL: mul255_8:6; CHECK:         .cfi_startproc7; CHECK-NEXT:  ; %bb.0:8; CHECK-NEXT:    move.b	(7,%sp), %d09; CHECK-NEXT:    neg.b	%d010; CHECK-NEXT:    rts11    %mul = mul i8 %A, 25512    ret i8 %mul13}14 15define i16 @mul65535_16(i16 %A) {16; CHECK-LABEL: mul65535_16:17; CHECK:         .cfi_startproc18; CHECK-NEXT:  ; %bb.0:19; CHECK-NEXT:    move.w	(6,%sp), %d020; CHECK-NEXT:    neg.w	%d021; CHECK-NEXT:    rts22    %mul = mul i16 %A, 6553523    ret i16 %mul24}25 26define i32 @mul4294967295_32(i32 %A) {27; CHECK-LABEL: mul4294967295_32:28; CHECK:         .cfi_startproc29; CHECK-NEXT:  ; %bb.0:30; CHECK-NEXT:    move.l	(4,%sp), %d031; CHECK-NEXT:    neg.l	%d032; CHECK-NEXT:    rts33    %mul = mul i32 %A, 429496729534    ret i32 %mul35}36 37; NOTE: If returning a 64-bit integer, d0 will be the higher 32-bit!38define i64 @mul18446744073709551615_64(i64 %A) {39; CHECK-LABEL: mul18446744073709551615_64:40; CHECK:         .cfi_startproc41; CHECK-NEXT:  ; %bb.0:42; CHECK-NEXT:    move.l	(4,%sp), %d043; CHECK-NEXT:    move.l	(8,%sp), %d144; CHECK-NEXT:    neg.l	%d145; CHECK-NEXT:    negx.l	%d046; CHECK-NEXT:    rts47    %mul = mul i64 %A, 1844674407370955161548    ret i64 %mul49}50