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