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 %s 3 4define i64 @notll(i64 %x) { 5; CHECK-LABEL: notll: 6; CHECK: ; %bb.0: 7; CHECK: move.l (4,%sp), %d0 8; CHECK: not.l %d0 9; CHECK: move.l (8,%sp), %d1 10; CHECK: not.l %d1 11; CHECK: rts 12 %not = xor i64 %x, -1 13 ret i64 %not 14} 15 16define i32 @notl(i32 %x) { 17; CHECK-LABEL: notl: 18; CHECK: ; %bb.0: 19; CHECK: move.l (4,%sp), %d0 20; CHECK: not.l %d0 21; CHECK: rts 22 %not = xor i32 %x, -1 23 ret i32 %not 24} 25 26define i16 @nots(i16 %x) { 27; CHECK-LABEL: nots: 28; CHECK: ; %bb.0: 29; CHECK: move.w (6,%sp), %d0 30; CHECK: not.w %d0 31; CHECK: rts 32 %not = xor i16 %x, -1 33 ret i16 %not 34} 35 36define i8 @notb(i8 %x) { 37; CHECK-LABEL: notb: 38; CHECK: ; %bb.0: 39; CHECK: move.b (7,%sp), %d0 40; CHECK: not.b %d0 41; CHECK: rts 42 %not = xor i8 %x, -1 43 ret i8 %not 44} 45 46define i64 @negll(i64 %x) { 47; CHECK-LABEL: negll: 48; CHECK: ; %bb.0: 49; CHECK: move.l (4,%sp), %d0 50; CHECK: move.l (8,%sp), %d1 51; CHECK: neg.l %d1 52; CHECK: negx.l %d0 53; CHECK: rts 54 %neg = sub i64 0, %x 55 ret i64 %neg 56} 57 58define i32 @negl(i32 %x) { 59; CHECK-LABEL: negl: 60; CHECK: ; %bb.0: 61; CHECK: move.l (4,%sp), %d0 62; CHECK: neg.l %d0 63; CHECK: rts 64 %neg = sub i32 0, %x 65 ret i32 %neg 66} 67 68define i16 @negs(i16 %x) { 69; CHECK-LABEL: negs: 70; CHECK: ; %bb.0: 71; CHECK: move.w (6,%sp), %d0 72; CHECK: neg.w %d0 73; CHECK: rts 74 %neg = sub i16 0, %x 75 ret i16 %neg 76} 77 78define i8 @negb(i8 %x) { 79; CHECK-LABEL: negb: 80; CHECK: ; %bb.0: 81; CHECK: move.b (7,%sp), %d0 82; CHECK: neg.b %d0 83; CHECK: rts 84 %neg = sub i8 0, %x 85 ret i8 %neg 86} 87