1; RUN: llc < %s -march=avr | FileCheck %s
2
3define i8 @com8(i8 %x) {
4; CHECK-LABEL: com8:
5; CHECK: com r24
6  %neg = xor i8 %x, -1
7  ret i8 %neg
8}
9
10define i16 @com16(i16 %x) {
11; CHECK-LABEL: com16:
12; CHECK: com r24
13; CHECK: com r25
14  %neg = xor i16 %x, -1
15  ret i16 %neg
16}
17
18define i32 @com32(i32 %x) {
19; CHECK-LABEL: com32:
20; CHECK: com r22
21; CHECK: com r23
22; CHECK: com r24
23; CHECK: com r25
24  %neg = xor i32 %x, -1
25  ret i32 %neg
26}
27
28define i64 @com64(i64 %x) {
29; CHECK-LABEL: com64:
30; CHECK: com r18
31; CHECK: com r19
32; CHECK: com r20
33; CHECK: com r21
34; CHECK: com r22
35; CHECK: com r23
36; CHECK: com r24
37; CHECK: com r25
38  %neg = xor i64 %x, -1
39  ret i64 %neg
40}
41