brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.3 KiB · 42211d2 Raw
167 lines · plain
1; RUN: llc < %s -mtriple=msp430 | FileCheck %s2target datalayout = "e-p:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:16:32"3target triple = "msp430-generic-generic"4 5@foo8 = external global i86@bar8 = external global i87 8define i8 @bitbrr(i8 %a, i8 %b) nounwind {9	%t1 = and i8 %a, %b10	%t2 = icmp ne i8 %t1, 011	%t3 = zext i1 %t2 to i812	ret i8 %t313}14; CHECK-LABEL: bitbrr:15; CHECK: bit.b	r13, r1216 17define i8 @bitbri(i8 %a) nounwind {18	%t1 = and i8 %a, 1519	%t2 = icmp ne i8 %t1, 020	%t3 = zext i1 %t2 to i821	ret i8 %t322}23; CHECK-LABEL: bitbri:24; CHECK: bit.b	#15, r1225 26define i8 @bitbir(i8 %a) nounwind {27	%t1 = and i8 15, %a28	%t2 = icmp ne i8 %t1, 029	%t3 = zext i1 %t2 to i830	ret i8 %t331}32; CHECK-LABEL: bitbir:33; CHECK: bit.b	#15, r1234 35define i8 @bitbmi() nounwind {36	%t1 = load i8, ptr @foo837	%t2 = and i8 %t1, 1538	%t3 = icmp ne i8 %t2, 039	%t4 = zext i1 %t3 to i840	ret i8 %t441}42; CHECK-LABEL: bitbmi:43; CHECK: bit.b	#15, &foo844 45define i8 @bitbim() nounwind {46	%t1 = load i8, ptr @foo847	%t2 = and i8 15, %t148	%t3 = icmp ne i8 %t2, 049	%t4 = zext i1 %t3 to i850	ret i8 %t451}52; CHECK-LABEL: bitbim:53; CHECK: bit.b	#15, &foo854 55define i8 @bitbrm(i8 %a) nounwind {56	%t1 = load i8, ptr @foo857	%t2 = and i8 %a, %t158	%t3 = icmp ne i8 %t2, 059	%t4 = zext i1 %t3 to i860	ret i8 %t461}62; CHECK-LABEL: bitbrm:63; CHECK: bit.b	&foo8, r1264 65define i8 @bitbmr(i8 %a) nounwind {66	%t1 = load i8, ptr @foo867	%t2 = and i8 %t1, %a68	%t3 = icmp ne i8 %t2, 069	%t4 = zext i1 %t3 to i870	ret i8 %t471}72; CHECK-LABEL: bitbmr:73; CHECK: bit.b	r12, &foo874 75define i8 @bitbmm() nounwind {76	%t1 = load i8, ptr @foo877	%t2 = load i8, ptr @bar878	%t3 = and i8 %t1, %t279	%t4 = icmp ne i8 %t3, 080	%t5 = zext i1 %t4 to i881	ret i8 %t582}83; CHECK-LABEL: bitbmm:84; CHECK: bit.b	&bar8, &foo885 86@foo16 = external global i1687@bar16 = external global i1688 89define i16 @bitwrr(i16 %a, i16 %b) nounwind {90	%t1 = and i16 %a, %b91	%t2 = icmp ne i16 %t1, 092	%t3 = zext i1 %t2 to i1693	ret i16 %t394}95; CHECK-LABEL: bitwrr:96; CHECK: bit	r13, r1297 98define i16 @bitwri(i16 %a) nounwind {99	%t1 = and i16 %a, 4080100	%t2 = icmp ne i16 %t1, 0101	%t3 = zext i1 %t2 to i16102	ret i16 %t3103}104; CHECK-LABEL: bitwri:105; CHECK: bit	#4080, r12106 107define i16 @bitwir(i16 %a) nounwind {108	%t1 = and i16 4080, %a109	%t2 = icmp ne i16 %t1, 0110	%t3 = zext i1 %t2 to i16111	ret i16 %t3112}113; CHECK-LABEL: bitwir:114; CHECK: bit	#4080, r12115 116define i16 @bitwmi() nounwind {117	%t1 = load i16, ptr @foo16118	%t2 = and i16 %t1, 4080119	%t3 = icmp ne i16 %t2, 0120	%t4 = zext i1 %t3 to i16121	ret i16 %t4122}123; CHECK-LABEL: bitwmi:124; CHECK: bit	#4080, &foo16125 126define i16 @bitwim() nounwind {127	%t1 = load i16, ptr @foo16128	%t2 = and i16 4080, %t1129	%t3 = icmp ne i16 %t2, 0130	%t4 = zext i1 %t3 to i16131	ret i16 %t4132}133; CHECK-LABEL: bitwim:134; CHECK: bit	#4080, &foo16135 136define i16 @bitwrm(i16 %a) nounwind {137	%t1 = load i16, ptr @foo16138	%t2 = and i16 %a, %t1139	%t3 = icmp ne i16 %t2, 0140	%t4 = zext i1 %t3 to i16141	ret i16 %t4142}143; CHECK-LABEL: bitwrm:144; CHECK: bit	&foo16, r12145 146define i16 @bitwmr(i16 %a) nounwind {147	%t1 = load i16, ptr @foo16148	%t2 = and i16 %t1, %a149	%t3 = icmp ne i16 %t2, 0150	%t4 = zext i1 %t3 to i16151	ret i16 %t4152}153; CHECK-LABEL: bitwmr:154; CHECK: bit	r12, &foo16155 156define i16 @bitwmm() nounwind {157	%t1 = load i16, ptr @foo16158	%t2 = load i16, ptr @bar16159	%t3 = and i16 %t1, %t2160	%t4 = icmp ne i16 %t3, 0161	%t5 = zext i1 %t4 to i16162	ret i16 %t5163}164; CHECK-LABEL: bitwmm:165; CHECK: bit	&bar16, &foo16166 167