xref: /llvm-project/llvm/test/CodeGen/AVR/com.ll (revision 2d7aa149a40b22f3d6721ec7e970ec09a77f8173)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=avr | FileCheck %s
3
4define i8 @com8(i8 %x) {
5; CHECK-LABEL: com8:
6; CHECK:       ; %bb.0:
7; CHECK-NEXT:    com r24
8; CHECK-NEXT:    ret
9  %neg = xor i8 %x, -1
10  ret i8 %neg
11}
12
13define i16 @com16(i16 %x) {
14; CHECK-LABEL: com16:
15; CHECK:       ; %bb.0:
16; CHECK-NEXT:    com r24
17; CHECK-NEXT:    com r25
18; CHECK-NEXT:    ret
19  %neg = xor i16 %x, -1
20  ret i16 %neg
21}
22
23define i32 @com32(i32 %x) {
24; CHECK-LABEL: com32:
25; CHECK:       ; %bb.0:
26; CHECK-NEXT:    com r22
27; CHECK-NEXT:    com r23
28; CHECK-NEXT:    com r24
29; CHECK-NEXT:    com r25
30; CHECK-NEXT:    ret
31  %neg = xor i32 %x, -1
32  ret i32 %neg
33}
34
35define i64 @com64(i64 %x) {
36; CHECK-LABEL: com64:
37; CHECK:       ; %bb.0:
38; CHECK-NEXT:    com r18
39; CHECK-NEXT:    com r19
40; CHECK-NEXT:    com r20
41; CHECK-NEXT:    com r21
42; CHECK-NEXT:    com r22
43; CHECK-NEXT:    com r23
44; CHECK-NEXT:    com r24
45; CHECK-NEXT:    com r25
46; CHECK-NEXT:    ret
47  %neg = xor i64 %x, -1
48  ret i64 %neg
49}
50