1 ; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=ELF64
3 ; Test add with non-legal types
5 define void @add_i8(i8 %a, i8 %b) nounwind {
8 %a.addr = alloca i8, align 4
11 store i8 %0, i8* %a.addr, align 4
15 define void @add_i8_imm(i8 %a) nounwind {
18 %a.addr = alloca i8, align 4
21 store i8 %0, i8* %a.addr, align 4
25 define void @add_i16(i16 %a, i16 %b) nounwind {
28 %a.addr = alloca i16, align 4
31 store i16 %0, i16* %a.addr, align 4
35 define void @add_i16_imm(i16 %a, i16 %b) nounwind {
38 %a.addr = alloca i16, align 4
41 store i16 %0, i16* %a.addr, align 4
45 ; Test or with non-legal types
47 define void @or_i8(i8 %a, i8 %b) nounwind {
50 %a.addr = alloca i8, align 4
53 store i8 %0, i8* %a.addr, align 4
57 define void @or_i8_imm(i8 %a) nounwind {
60 %a.addr = alloca i8, align 4
63 store i8 %0, i8* %a.addr, align 4
67 define void @or_i16(i16 %a, i16 %b) nounwind {
70 %a.addr = alloca i16, align 4
73 store i16 %0, i16* %a.addr, align 4
77 define void @or_i16_imm(i16 %a) nounwind {
80 %a.addr = alloca i16, align 4
83 store i16 %0, i16* %a.addr, align 4
87 ; Test sub with non-legal types
89 define void @sub_i8(i8 %a, i8 %b) nounwind {
92 %a.addr = alloca i8, align 4
95 store i8 %0, i8* %a.addr, align 4
99 define void @sub_i8_imm(i8 %a) nounwind {
102 %a.addr = alloca i8, align 4
105 store i8 %0, i8* %a.addr, align 4
109 define void @sub_i16(i16 %a, i16 %b) nounwind {
112 %a.addr = alloca i16, align 4
115 store i16 %0, i16* %a.addr, align 4
119 define void @sub_i16_imm(i16 %a) nounwind {
122 %a.addr = alloca i16, align 4
123 %0 = sub i16 %a, 247;
125 store i16 %0, i16* %a.addr, align 4
129 define void @sub_i16_badimm(i16 %a) nounwind {
132 %a.addr = alloca i16, align 4
133 %0 = sub i16 %a, -32768;
135 store i16 %0, i16* %a.addr, align 4