87 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --filter-out ";*\.cfi_*"2; RUN: llc < %s -mtriple=m68k-linux -verify-machineinstrs | FileCheck %s3 4define i64 @notll(i64 %x) {5; CHECK-LABEL: notll:6; CHECK: ; %bb.0:7; CHECK: move.l (4,%sp), %d08; CHECK: not.l %d09; CHECK: move.l (8,%sp), %d110; CHECK: not.l %d111; CHECK: rts12 %not = xor i64 %x, -113 ret i64 %not14}15 16define i32 @notl(i32 %x) {17; CHECK-LABEL: notl:18; CHECK: ; %bb.0:19; CHECK: move.l (4,%sp), %d020; CHECK: not.l %d021; CHECK: rts22 %not = xor i32 %x, -123 ret i32 %not24}25 26define i16 @nots(i16 %x) {27; CHECK-LABEL: nots:28; CHECK: ; %bb.0:29; CHECK: move.w (6,%sp), %d030; CHECK: not.w %d031; CHECK: rts32 %not = xor i16 %x, -133 ret i16 %not34}35 36define i8 @notb(i8 %x) {37; CHECK-LABEL: notb:38; CHECK: ; %bb.0:39; CHECK: move.b (7,%sp), %d040; CHECK: not.b %d041; CHECK: rts42 %not = xor i8 %x, -143 ret i8 %not44}45 46define i64 @negll(i64 %x) {47; CHECK-LABEL: negll:48; CHECK: ; %bb.0:49; CHECK: move.l (4,%sp), %d050; CHECK: move.l (8,%sp), %d151; CHECK: neg.l %d152; CHECK: negx.l %d053; CHECK: rts54 %neg = sub i64 0, %x55 ret i64 %neg56}57 58define i32 @negl(i32 %x) {59; CHECK-LABEL: negl:60; CHECK: ; %bb.0:61; CHECK: move.l (4,%sp), %d062; CHECK: neg.l %d063; CHECK: rts64 %neg = sub i32 0, %x65 ret i32 %neg66}67 68define i16 @negs(i16 %x) {69; CHECK-LABEL: negs:70; CHECK: ; %bb.0:71; CHECK: move.w (6,%sp), %d072; CHECK: neg.w %d073; CHECK: rts74 %neg = sub i16 0, %x75 ret i16 %neg76}77 78define i8 @negb(i8 %x) {79; CHECK-LABEL: negb:80; CHECK: ; %bb.0:81; CHECK: move.b (7,%sp), %d082; CHECK: neg.b %d083; CHECK: rts84 %neg = sub i8 0, %x85 ret i8 %neg86}87