Lines Matching +full:r +full:- +full:- +full:p
1 ; RUN: llc -mtriple=hexagon -mcpu=hexagonv5 < %s | FileCheck %s
4 define void @memop_unsigned_char_add5(ptr nocapture %p) nounwind {
6 ; CHECK-LABEL: memop_unsigned_char_add5:
7 ; CHECK: memb(r{{[0-9]+}}+#0) += #5
8 %0 = load i8, ptr %p, align 1
12 store i8 %conv1, ptr %p, align 1
16 define void @memop_unsigned_char_add(ptr nocapture %p, i8 zeroext %x) nounwind {
18 ; CHECK-LABEL: memop_unsigned_char_add:
19 ; CHECK: memb(r{{[0-9]+}}+#0) += r{{[0-9]+}}
21 %0 = load i8, ptr %p, align 1
25 store i8 %conv2, ptr %p, align 1
29 define void @memop_unsigned_char_sub(ptr nocapture %p, i8 zeroext %x) nounwind {
31 ; CHECK-LABEL: memop_unsigned_char_sub:
32 ; CHECK: memb(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
34 %0 = load i8, ptr %p, align 1
38 store i8 %conv2, ptr %p, align 1
42 define void @memop_unsigned_char_or(ptr nocapture %p, i8 zeroext %x) nounwind {
44 ; CHECK-LABEL: memop_unsigned_char_or:
45 ; CHECK: memb(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
46 %0 = load i8, ptr %p, align 1
48 store i8 %or3, ptr %p, align 1
52 define void @memop_unsigned_char_and(ptr nocapture %p, i8 zeroext %x) nounwind {
54 ; CHECK-LABEL: memop_unsigned_char_and:
55 ; CHECK: memb(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
56 %0 = load i8, ptr %p, align 1
58 store i8 %and3, ptr %p, align 1
62 define void @memop_unsigned_char_clrbit(ptr nocapture %p) nounwind {
64 ; CHECK-LABEL: memop_unsigned_char_clrbit:
65 ; CHECK: memb(r{{[0-9]+}}+#0) = clrbit(#5)
66 %0 = load i8, ptr %p, align 1
70 store i8 %conv1, ptr %p, align 1
74 define void @memop_unsigned_char_setbit(ptr nocapture %p) nounwind {
76 ; CHECK-LABEL: memop_unsigned_char_setbit:
77 ; CHECK: memb(r{{[0-9]+}}+#0) = setbit(#7)
78 %0 = load i8, ptr %p, align 1
82 store i8 %conv1, ptr %p, align 1
86 define void @memop_unsigned_char_add5_index(ptr nocapture %p, i32 %i) nounwind {
88 ; CHECK-LABEL: memop_unsigned_char_add5_index:
89 ; CHECK: memb(r{{[0-9]+}}+#0) += #5
90 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
99 define void @memop_unsigned_char_add_index(ptr nocapture %p, i32 %i, i8 zeroext %x) nounwind {
101 ; CHECK-LABEL: memop_unsigned_char_add_index:
102 ; CHECK: memb(r{{[0-9]+}}+#0) += r{{[0-9]+}}
104 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
113 define void @memop_unsigned_char_sub_index(ptr nocapture %p, i32 %i, i8 zeroext %x) nounwind {
115 ; CHECK-LABEL: memop_unsigned_char_sub_index:
116 ; CHECK: memb(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
118 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
127 define void @memop_unsigned_char_or_index(ptr nocapture %p, i32 %i, i8 zeroext %x) nounwind {
129 ; CHECK-LABEL: memop_unsigned_char_or_index:
130 ; CHECK: memb(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
131 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
138 define void @memop_unsigned_char_and_index(ptr nocapture %p, i32 %i, i8 zeroext %x) nounwind {
140 ; CHECK-LABEL: memop_unsigned_char_and_index:
141 ; CHECK: memb(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
142 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
149 define void @memop_unsigned_char_clrbit_index(ptr nocapture %p, i32 %i) nounwind {
151 ; CHECK-LABEL: memop_unsigned_char_clrbit_index:
152 ; CHECK: memb(r{{[0-9]+}}+#0) = clrbit(#5)
153 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
162 define void @memop_unsigned_char_setbit_index(ptr nocapture %p, i32 %i) nounwind {
164 ; CHECK-LABEL: memop_unsigned_char_setbit_index:
165 ; CHECK: memb(r{{[0-9]+}}+#0) = setbit(#7)
166 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
175 define void @memop_unsigned_char_add5_index5(ptr nocapture %p) nounwind {
177 ; CHECK-LABEL: memop_unsigned_char_add5_index5:
178 ; CHECK: memb(r{{[0-9]+}}+#5) += #5
179 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
188 define void @memop_unsigned_char_add_index5(ptr nocapture %p, i8 zeroext %x) nounwind {
190 ; CHECK-LABEL: memop_unsigned_char_add_index5:
191 ; CHECK: memb(r{{[0-9]+}}+#5) += r{{[0-9]+}}
193 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
202 define void @memop_unsigned_char_sub_index5(ptr nocapture %p, i8 zeroext %x) nounwind {
204 ; CHECK-LABEL: memop_unsigned_char_sub_index5:
205 ; CHECK: memb(r{{[0-9]+}}+#5) -= r{{[0-9]+}}
207 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
216 define void @memop_unsigned_char_or_index5(ptr nocapture %p, i8 zeroext %x) nounwind {
218 ; CHECK-LABEL: memop_unsigned_char_or_index5:
219 ; CHECK: memb(r{{[0-9]+}}+#5) |= r{{[0-9]+}}
220 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
227 define void @memop_unsigned_char_and_index5(ptr nocapture %p, i8 zeroext %x) nounwind {
229 ; CHECK-LABEL: memop_unsigned_char_and_index5:
230 ; CHECK: memb(r{{[0-9]+}}+#5) &= r{{[0-9]+}}
231 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
238 define void @memop_unsigned_char_clrbit_index5(ptr nocapture %p) nounwind {
240 ; CHECK-LABEL: memop_unsigned_char_clrbit_index5:
241 ; CHECK: memb(r{{[0-9]+}}+#5) = clrbit(#5)
242 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
251 define void @memop_unsigned_char_setbit_index5(ptr nocapture %p) nounwind {
253 ; CHECK-LABEL: memop_unsigned_char_setbit_index5:
254 ; CHECK: memb(r{{[0-9]+}}+#5) = setbit(#7)
255 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
264 define void @memop_signed_char_add5(ptr nocapture %p) nounwind {
266 ; CHECK-LABEL: memop_signed_char_add5:
267 ; CHECK: memb(r{{[0-9]+}}+#0) += #5
268 %0 = load i8, ptr %p, align 1
272 store i8 %conv1, ptr %p, align 1
276 define void @memop_signed_char_add(ptr nocapture %p, i8 signext %x) nounwind {
278 ; CHECK-LABEL: memop_signed_char_add:
279 ; CHECK: memb(r{{[0-9]+}}+#0) += r{{[0-9]+}}
281 %0 = load i8, ptr %p, align 1
285 store i8 %conv2, ptr %p, align 1
289 define void @memop_signed_char_sub(ptr nocapture %p, i8 signext %x) nounwind {
291 ; CHECK-LABEL: memop_signed_char_sub:
292 ; CHECK: memb(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
294 %0 = load i8, ptr %p, align 1
298 store i8 %conv2, ptr %p, align 1
302 define void @memop_signed_char_or(ptr nocapture %p, i8 signext %x) nounwind {
304 ; CHECK-LABEL: memop_signed_char_or:
305 ; CHECK: memb(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
306 %0 = load i8, ptr %p, align 1
308 store i8 %or3, ptr %p, align 1
312 define void @memop_signed_char_and(ptr nocapture %p, i8 signext %x) nounwind {
314 ; CHECK-LABEL: memop_signed_char_and:
315 ; CHECK: memb(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
316 %0 = load i8, ptr %p, align 1
318 store i8 %and3, ptr %p, align 1
322 define void @memop_signed_char_clrbit(ptr nocapture %p) nounwind {
324 ; CHECK-LABEL: memop_signed_char_clrbit:
325 ; CHECK: memb(r{{[0-9]+}}+#0) = clrbit(#5)
326 %0 = load i8, ptr %p, align 1
330 store i8 %conv1, ptr %p, align 1
334 define void @memop_signed_char_setbit(ptr nocapture %p) nounwind {
336 ; CHECK-LABEL: memop_signed_char_setbit:
337 ; CHECK: memb(r{{[0-9]+}}+#0) = setbit(#7)
338 %0 = load i8, ptr %p, align 1
342 store i8 %conv1, ptr %p, align 1
346 define void @memop_signed_char_add5_index(ptr nocapture %p, i32 %i) nounwind {
348 ; CHECK-LABEL: memop_signed_char_add5_index:
349 ; CHECK: memb(r{{[0-9]+}}+#0) += #5
350 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
359 define void @memop_signed_char_add_index(ptr nocapture %p, i32 %i, i8 signext %x) nounwind {
361 ; CHECK-LABEL: memop_signed_char_add_index:
362 ; CHECK: memb(r{{[0-9]+}}+#0) += r{{[0-9]+}}
364 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
373 define void @memop_signed_char_sub_index(ptr nocapture %p, i32 %i, i8 signext %x) nounwind {
375 ; CHECK-LABEL: memop_signed_char_sub_index:
376 ; CHECK: memb(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
378 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
387 define void @memop_signed_char_or_index(ptr nocapture %p, i32 %i, i8 signext %x) nounwind {
389 ; CHECK-LABEL: memop_signed_char_or_index:
390 ; CHECK: memb(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
391 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
398 define void @memop_signed_char_and_index(ptr nocapture %p, i32 %i, i8 signext %x) nounwind {
400 ; CHECK-LABEL: memop_signed_char_and_index:
401 ; CHECK: memb(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
402 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
409 define void @memop_signed_char_clrbit_index(ptr nocapture %p, i32 %i) nounwind {
411 ; CHECK-LABEL: memop_signed_char_clrbit_index:
412 ; CHECK: memb(r{{[0-9]+}}+#0) = clrbit(#5)
413 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
422 define void @memop_signed_char_setbit_index(ptr nocapture %p, i32 %i) nounwind {
424 ; CHECK-LABEL: memop_signed_char_setbit_index:
425 ; CHECK: memb(r{{[0-9]+}}+#0) = setbit(#7)
426 %add.ptr = getelementptr inbounds i8, ptr %p, i32 %i
435 define void @memop_signed_char_add5_index5(ptr nocapture %p) nounwind {
437 ; CHECK-LABEL: memop_signed_char_add5_index5:
438 ; CHECK: memb(r{{[0-9]+}}+#5) += #5
439 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
448 define void @memop_signed_char_add_index5(ptr nocapture %p, i8 signext %x) nounwind {
450 ; CHECK-LABEL: memop_signed_char_add_index5:
451 ; CHECK: memb(r{{[0-9]+}}+#5) += r{{[0-9]+}}
453 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
462 define void @memop_signed_char_sub_index5(ptr nocapture %p, i8 signext %x) nounwind {
464 ; CHECK-LABEL: memop_signed_char_sub_index5:
465 ; CHECK: memb(r{{[0-9]+}}+#5) -= r{{[0-9]+}}
467 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
476 define void @memop_signed_char_or_index5(ptr nocapture %p, i8 signext %x) nounwind {
478 ; CHECK-LABEL: memop_signed_char_or_index5:
479 ; CHECK: memb(r{{[0-9]+}}+#5) |= r{{[0-9]+}}
480 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
487 define void @memop_signed_char_and_index5(ptr nocapture %p, i8 signext %x) nounwind {
489 ; CHECK-LABEL: memop_signed_char_and_index5:
490 ; CHECK: memb(r{{[0-9]+}}+#5) &= r{{[0-9]+}}
491 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
498 define void @memop_signed_char_clrbit_index5(ptr nocapture %p) nounwind {
500 ; CHECK-LABEL: memop_signed_char_clrbit_index5:
501 ; CHECK: memb(r{{[0-9]+}}+#5) = clrbit(#5)
502 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
511 define void @memop_signed_char_setbit_index5(ptr nocapture %p) nounwind {
513 ; CHECK-LABEL: memop_signed_char_setbit_index5:
514 ; CHECK: memb(r{{[0-9]+}}+#5) = setbit(#7)
515 %add.ptr = getelementptr inbounds i8, ptr %p, i32 5
524 define void @memop_unsigned_short_add5(ptr nocapture %p) nounwind {
526 ; CHECK-LABEL: memop_unsigned_short_add5:
527 ; CHECK: memh(r{{[0-9]+}}+#0) += #5
528 %0 = load i16, ptr %p, align 2
532 store i16 %conv1, ptr %p, align 2
536 define void @memop_unsigned_short_add(ptr nocapture %p, i16 zeroext %x) nounwind {
538 ; CHECK-LABEL: memop_unsigned_short_add:
539 ; CHECK: memh(r{{[0-9]+}}+#0) += r{{[0-9]+}}
541 %0 = load i16, ptr %p, align 2
545 store i16 %conv2, ptr %p, align 2
549 define void @memop_unsigned_short_sub(ptr nocapture %p, i16 zeroext %x) nounwind {
551 ; CHECK-LABEL: memop_unsigned_short_sub:
552 ; CHECK: memh(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
554 %0 = load i16, ptr %p, align 2
558 store i16 %conv2, ptr %p, align 2
562 define void @memop_unsigned_short_or(ptr nocapture %p, i16 zeroext %x) nounwind {
564 ; CHECK-LABEL: memop_unsigned_short_or:
565 ; CHECK: memh(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
566 %0 = load i16, ptr %p, align 2
568 store i16 %or3, ptr %p, align 2
572 define void @memop_unsigned_short_and(ptr nocapture %p, i16 zeroext %x) nounwind {
574 ; CHECK-LABEL: memop_unsigned_short_and:
575 ; CHECK: memh(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
576 %0 = load i16, ptr %p, align 2
578 store i16 %and3, ptr %p, align 2
582 define void @memop_unsigned_short_clrbit(ptr nocapture %p) nounwind {
584 ; CHECK-LABEL: memop_unsigned_short_clrbit:
585 ; CHECK: memh(r{{[0-9]+}}+#0) = clrbit(#5)
586 %0 = load i16, ptr %p, align 2
590 store i16 %conv1, ptr %p, align 2
594 define void @memop_unsigned_short_setbit(ptr nocapture %p) nounwind {
596 ; CHECK-LABEL: memop_unsigned_short_setbit:
597 ; CHECK: memh(r{{[0-9]+}}+#0) = setbit(#7)
598 %0 = load i16, ptr %p, align 2
602 store i16 %conv1, ptr %p, align 2
606 define void @memop_unsigned_short_add5_index(ptr nocapture %p, i32 %i) nounwind {
608 ; CHECK-LABEL: memop_unsigned_short_add5_index:
609 ; CHECK: memh(r{{[0-9]+}}+#0) += #5
610 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
619 define void @memop_unsigned_short_add_index(ptr nocapture %p, i32 %i, i16 zeroext %x) nounwind {
621 ; CHECK-LABEL: memop_unsigned_short_add_index:
622 ; CHECK: memh(r{{[0-9]+}}+#0) += r{{[0-9]+}}
624 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
633 define void @memop_unsigned_short_sub_index(ptr nocapture %p, i32 %i, i16 zeroext %x) nounwind {
635 ; CHECK-LABEL: memop_unsigned_short_sub_index:
636 ; CHECK: memh(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
638 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
647 define void @memop_unsigned_short_or_index(ptr nocapture %p, i32 %i, i16 zeroext %x) nounwind {
649 ; CHECK-LABEL: memop_unsigned_short_or_index:
650 ; CHECK: memh(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
651 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
658 define void @memop_unsigned_short_and_index(ptr nocapture %p, i32 %i, i16 zeroext %x) nounwind {
660 ; CHECK-LABEL: memop_unsigned_short_and_index:
661 ; CHECK: memh(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
662 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
669 define void @memop_unsigned_short_clrbit_index(ptr nocapture %p, i32 %i) nounwind {
671 ; CHECK-LABEL: memop_unsigned_short_clrbit_index:
672 ; CHECK: memh(r{{[0-9]+}}+#0) = clrbit(#5)
673 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
682 define void @memop_unsigned_short_setbit_index(ptr nocapture %p, i32 %i) nounwind {
684 ; CHECK-LABEL: memop_unsigned_short_setbit_index:
685 ; CHECK: memh(r{{[0-9]+}}+#0) = setbit(#7)
686 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
695 define void @memop_unsigned_short_add5_index5(ptr nocapture %p) nounwind {
697 ; CHECK-LABEL: memop_unsigned_short_add5_index5:
698 ; CHECK: memh(r{{[0-9]+}}+#10) += #5
699 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
708 define void @memop_unsigned_short_add_index5(ptr nocapture %p, i16 zeroext %x) nounwind {
710 ; CHECK-LABEL: memop_unsigned_short_add_index5:
711 ; CHECK: memh(r{{[0-9]+}}+#10) += r{{[0-9]+}}
713 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
722 define void @memop_unsigned_short_sub_index5(ptr nocapture %p, i16 zeroext %x) nounwind {
724 ; CHECK-LABEL: memop_unsigned_short_sub_index5:
725 ; CHECK: memh(r{{[0-9]+}}+#10) -= r{{[0-9]+}}
727 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
736 define void @memop_unsigned_short_or_index5(ptr nocapture %p, i16 zeroext %x) nounwind {
738 ; CHECK-LABEL: memop_unsigned_short_or_index5:
739 ; CHECK: memh(r{{[0-9]+}}+#10) |= r{{[0-9]+}}
740 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
747 define void @memop_unsigned_short_and_index5(ptr nocapture %p, i16 zeroext %x) nounwind {
749 ; CHECK-LABEL: memop_unsigned_short_and_index5:
750 ; CHECK: memh(r{{[0-9]+}}+#10) &= r{{[0-9]+}}
751 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
758 define void @memop_unsigned_short_clrbit_index5(ptr nocapture %p) nounwind {
760 ; CHECK-LABEL: memop_unsigned_short_clrbit_index5:
761 ; CHECK: memh(r{{[0-9]+}}+#10) = clrbit(#5)
762 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
771 define void @memop_unsigned_short_setbit_index5(ptr nocapture %p) nounwind {
773 ; CHECK-LABEL: memop_unsigned_short_setbit_index5:
774 ; CHECK: memh(r{{[0-9]+}}+#10) = setbit(#7)
775 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
784 define void @memop_signed_short_add5(ptr nocapture %p) nounwind {
786 ; CHECK-LABEL: memop_signed_short_add5:
787 ; CHECK: memh(r{{[0-9]+}}+#0) += #5
788 %0 = load i16, ptr %p, align 2
792 store i16 %conv1, ptr %p, align 2
796 define void @memop_signed_short_add(ptr nocapture %p, i16 signext %x) nounwind {
798 ; CHECK-LABEL: memop_signed_short_add:
799 ; CHECK: memh(r{{[0-9]+}}+#0) += r{{[0-9]+}}
801 %0 = load i16, ptr %p, align 2
805 store i16 %conv2, ptr %p, align 2
809 define void @memop_signed_short_sub(ptr nocapture %p, i16 signext %x) nounwind {
811 ; CHECK-LABEL: memop_signed_short_sub:
812 ; CHECK: memh(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
814 %0 = load i16, ptr %p, align 2
818 store i16 %conv2, ptr %p, align 2
822 define void @memop_signed_short_or(ptr nocapture %p, i16 signext %x) nounwind {
824 ; CHECK-LABEL: memop_signed_short_or:
825 ; CHECK: memh(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
826 %0 = load i16, ptr %p, align 2
828 store i16 %or3, ptr %p, align 2
832 define void @memop_signed_short_and(ptr nocapture %p, i16 signext %x) nounwind {
834 ; CHECK-LABEL: memop_signed_short_and:
835 ; CHECK: memh(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
836 %0 = load i16, ptr %p, align 2
838 store i16 %and3, ptr %p, align 2
842 define void @memop_signed_short_clrbit(ptr nocapture %p) nounwind {
844 ; CHECK-LABEL: memop_signed_short_clrbit:
845 ; CHECK: memh(r{{[0-9]+}}+#0) = clrbit(#5)
846 %0 = load i16, ptr %p, align 2
850 store i16 %conv1, ptr %p, align 2
854 define void @memop_signed_short_setbit(ptr nocapture %p) nounwind {
856 ; CHECK-LABEL: memop_signed_short_setbit:
857 ; CHECK: memh(r{{[0-9]+}}+#0) = setbit(#7)
858 %0 = load i16, ptr %p, align 2
862 store i16 %conv1, ptr %p, align 2
866 define void @memop_signed_short_add5_index(ptr nocapture %p, i32 %i) nounwind {
868 ; CHECK-LABEL: memop_signed_short_add5_index:
869 ; CHECK: memh(r{{[0-9]+}}+#0) += #5
870 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
879 define void @memop_signed_short_add_index(ptr nocapture %p, i32 %i, i16 signext %x) nounwind {
881 ; CHECK-LABEL: memop_signed_short_add_index:
882 ; CHECK: memh(r{{[0-9]+}}+#0) += r{{[0-9]+}}
884 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
893 define void @memop_signed_short_sub_index(ptr nocapture %p, i32 %i, i16 signext %x) nounwind {
895 ; CHECK-LABEL: memop_signed_short_sub_index:
896 ; CHECK: memh(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
898 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
907 define void @memop_signed_short_or_index(ptr nocapture %p, i32 %i, i16 signext %x) nounwind {
909 ; CHECK-LABEL: memop_signed_short_or_index:
910 ; CHECK: memh(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
911 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
918 define void @memop_signed_short_and_index(ptr nocapture %p, i32 %i, i16 signext %x) nounwind {
920 ; CHECK-LABEL: memop_signed_short_and_index:
921 ; CHECK: memh(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
922 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
929 define void @memop_signed_short_clrbit_index(ptr nocapture %p, i32 %i) nounwind {
931 ; CHECK-LABEL: memop_signed_short_clrbit_index:
932 ; CHECK: memh(r{{[0-9]+}}+#0) = clrbit(#5)
933 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
942 define void @memop_signed_short_setbit_index(ptr nocapture %p, i32 %i) nounwind {
944 ; CHECK-LABEL: memop_signed_short_setbit_index:
945 ; CHECK: memh(r{{[0-9]+}}+#0) = setbit(#7)
946 %add.ptr = getelementptr inbounds i16, ptr %p, i32 %i
955 define void @memop_signed_short_add5_index5(ptr nocapture %p) nounwind {
957 ; CHECK-LABEL: memop_signed_short_add5_index5:
958 ; CHECK: memh(r{{[0-9]+}}+#10) += #5
959 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
968 define void @memop_signed_short_add_index5(ptr nocapture %p, i16 signext %x) nounwind {
970 ; CHECK-LABEL: memop_signed_short_add_index5:
971 ; CHECK: memh(r{{[0-9]+}}+#10) += r{{[0-9]+}}
973 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
982 define void @memop_signed_short_sub_index5(ptr nocapture %p, i16 signext %x) nounwind {
984 ; CHECK-LABEL: memop_signed_short_sub_index5:
985 ; CHECK: memh(r{{[0-9]+}}+#10) -= r{{[0-9]+}}
987 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
996 define void @memop_signed_short_or_index5(ptr nocapture %p, i16 signext %x) nounwind {
998 ; CHECK-LABEL: memop_signed_short_or_index5:
999 ; CHECK: memh(r{{[0-9]+}}+#10) |= r{{[0-9]+}}
1000 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
1007 define void @memop_signed_short_and_index5(ptr nocapture %p, i16 signext %x) nounwind {
1009 ; CHECK-LABEL: memop_signed_short_and_index5:
1010 ; CHECK: memh(r{{[0-9]+}}+#10) &= r{{[0-9]+}}
1011 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
1018 define void @memop_signed_short_clrbit_index5(ptr nocapture %p) nounwind {
1020 ; CHECK-LABEL: memop_signed_short_clrbit_index5:
1021 ; CHECK: memh(r{{[0-9]+}}+#10) = clrbit(#5)
1022 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
1031 define void @memop_signed_short_setbit_index5(ptr nocapture %p) nounwind {
1033 ; CHECK-LABEL: memop_signed_short_setbit_index5:
1034 ; CHECK: memh(r{{[0-9]+}}+#10) = setbit(#7)
1035 %add.ptr = getelementptr inbounds i16, ptr %p, i32 5
1044 define void @memop_signed_int_add5(ptr nocapture %p) nounwind {
1046 ; CHECK-LABEL: memop_signed_int_add5:
1047 ; CHECK: memw(r{{[0-9]+}}+#0) += #5
1048 %0 = load i32, ptr %p, align 4
1050 store i32 %add, ptr %p, align 4
1054 define void @memop_signed_int_add(ptr nocapture %p, i32 %x) nounwind {
1056 ; CHECK-LABEL: memop_signed_int_add:
1057 ; CHECK: memw(r{{[0-9]+}}+#0) += r{{[0-9]+}}
1058 %0 = load i32, ptr %p, align 4
1060 store i32 %add, ptr %p, align 4
1064 define void @memop_signed_int_sub(ptr nocapture %p, i32 %x) nounwind {
1066 ; CHECK-LABEL: memop_signed_int_sub:
1067 ; CHECK: memw(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
1068 %0 = load i32, ptr %p, align 4
1070 store i32 %sub, ptr %p, align 4
1074 define void @memop_signed_int_or(ptr nocapture %p, i32 %x) nounwind {
1076 ; CHECK-LABEL: memop_signed_int_or:
1077 ; CHECK: memw(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
1078 %0 = load i32, ptr %p, align 4
1080 store i32 %or, ptr %p, align 4
1084 define void @memop_signed_int_and(ptr nocapture %p, i32 %x) nounwind {
1086 ; CHECK-LABEL: memop_signed_int_and:
1087 ; CHECK: memw(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
1088 %0 = load i32, ptr %p, align 4
1090 store i32 %and, ptr %p, align 4
1094 define void @memop_signed_int_clrbit(ptr nocapture %p) nounwind {
1096 ; CHECK-LABEL: memop_signed_int_clrbit:
1097 ; CHECK: memw(r{{[0-9]+}}+#0) = clrbit(#5)
1098 %0 = load i32, ptr %p, align 4
1099 %and = and i32 %0, -33
1100 store i32 %and, ptr %p, align 4
1104 define void @memop_signed_int_setbit(ptr nocapture %p) nounwind {
1106 ; CHECK-LABEL: memop_signed_int_setbit:
1107 ; CHECK: memw(r{{[0-9]+}}+#0) = setbit(#7)
1108 %0 = load i32, ptr %p, align 4
1110 store i32 %or, ptr %p, align 4
1114 define void @memop_signed_int_add5_index(ptr nocapture %p, i32 %i) nounwind {
1116 ; CHECK-LABEL: memop_signed_int_add5_index:
1117 ; CHECK: memw(r{{[0-9]+}}+#0) += #5
1118 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1125 define void @memop_signed_int_add_index(ptr nocapture %p, i32 %i, i32 %x) nounwind {
1127 ; CHECK-LABEL: memop_signed_int_add_index:
1128 ; CHECK: memw(r{{[0-9]+}}+#0) += r{{[0-9]+}}
1129 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1136 define void @memop_signed_int_sub_index(ptr nocapture %p, i32 %i, i32 %x) nounwind {
1138 ; CHECK-LABEL: memop_signed_int_sub_index:
1139 ; CHECK: memw(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
1140 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1147 define void @memop_signed_int_or_index(ptr nocapture %p, i32 %i, i32 %x) nounwind {
1149 ; CHECK-LABEL: memop_signed_int_or_index:
1150 ; CHECK: memw(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
1151 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1158 define void @memop_signed_int_and_index(ptr nocapture %p, i32 %i, i32 %x) nounwind {
1160 ; CHECK-LABEL: memop_signed_int_and_index:
1161 ; CHECK: memw(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
1162 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1169 define void @memop_signed_int_clrbit_index(ptr nocapture %p, i32 %i) nounwind {
1171 ; CHECK-LABEL: memop_signed_int_clrbit_index:
1172 ; CHECK: memw(r{{[0-9]+}}+#0) = clrbit(#5)
1173 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1175 %and = and i32 %0, -33
1180 define void @memop_signed_int_setbit_index(ptr nocapture %p, i32 %i) nounwind {
1182 ; CHECK-LABEL: memop_signed_int_setbit_index:
1183 ; CHECK: memw(r{{[0-9]+}}+#0) = setbit(#7)
1184 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1191 define void @memop_signed_int_add5_index5(ptr nocapture %p) nounwind {
1193 ; CHECK-LABEL: memop_signed_int_add5_index5:
1194 ; CHECK: memw(r{{[0-9]+}}+#20) += #5
1195 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1202 define void @memop_signed_int_add_index5(ptr nocapture %p, i32 %x) nounwind {
1204 ; CHECK-LABEL: memop_signed_int_add_index5:
1205 ; CHECK: memw(r{{[0-9]+}}+#20) += r{{[0-9]+}}
1206 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1213 define void @memop_signed_int_sub_index5(ptr nocapture %p, i32 %x) nounwind {
1215 ; CHECK-LABEL: memop_signed_int_sub_index5:
1216 ; CHECK: memw(r{{[0-9]+}}+#20) -= r{{[0-9]+}}
1217 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1224 define void @memop_signed_int_or_index5(ptr nocapture %p, i32 %x) nounwind {
1226 ; CHECK-LABEL: memop_signed_int_or_index5:
1227 ; CHECK: memw(r{{[0-9]+}}+#20) |= r{{[0-9]+}}
1228 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1235 define void @memop_signed_int_and_index5(ptr nocapture %p, i32 %x) nounwind {
1237 ; CHECK-LABEL: memop_signed_int_and_index5:
1238 ; CHECK: memw(r{{[0-9]+}}+#20) &= r{{[0-9]+}}
1239 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1246 define void @memop_signed_int_clrbit_index5(ptr nocapture %p) nounwind {
1248 ; CHECK-LABEL: memop_signed_int_clrbit_index5:
1249 ; CHECK: memw(r{{[0-9]+}}+#20) = clrbit(#5)
1250 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1252 %and = and i32 %0, -33
1257 define void @memop_signed_int_setbit_index5(ptr nocapture %p) nounwind {
1259 ; CHECK-LABEL: memop_signed_int_setbit_index5:
1260 ; CHECK: memw(r{{[0-9]+}}+#20) = setbit(#7)
1261 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1268 define void @memop_unsigned_int_add5(ptr nocapture %p) nounwind {
1270 ; CHECK-LABEL: memop_unsigned_int_add5:
1271 ; CHECK: memw(r{{[0-9]+}}+#0) += #5
1272 %0 = load i32, ptr %p, align 4
1274 store i32 %add, ptr %p, align 4
1278 define void @memop_unsigned_int_add(ptr nocapture %p, i32 %x) nounwind {
1280 ; CHECK-LABEL: memop_unsigned_int_add:
1281 ; CHECK: memw(r{{[0-9]+}}+#0) += r{{[0-9]+}}
1282 %0 = load i32, ptr %p, align 4
1284 store i32 %add, ptr %p, align 4
1288 define void @memop_unsigned_int_sub(ptr nocapture %p, i32 %x) nounwind {
1290 ; CHECK-LABEL: memop_unsigned_int_sub:
1291 ; CHECK: memw(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
1292 %0 = load i32, ptr %p, align 4
1294 store i32 %sub, ptr %p, align 4
1298 define void @memop_unsigned_int_or(ptr nocapture %p, i32 %x) nounwind {
1300 ; CHECK-LABEL: memop_unsigned_int_or:
1301 ; CHECK: memw(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
1302 %0 = load i32, ptr %p, align 4
1304 store i32 %or, ptr %p, align 4
1308 define void @memop_unsigned_int_and(ptr nocapture %p, i32 %x) nounwind {
1310 ; CHECK-LABEL: memop_unsigned_int_and:
1311 ; CHECK: memw(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
1312 %0 = load i32, ptr %p, align 4
1314 store i32 %and, ptr %p, align 4
1318 define void @memop_unsigned_int_clrbit(ptr nocapture %p) nounwind {
1320 ; CHECK-LABEL: memop_unsigned_int_clrbit:
1321 ; CHECK: memw(r{{[0-9]+}}+#0) = clrbit(#5)
1322 %0 = load i32, ptr %p, align 4
1323 %and = and i32 %0, -33
1324 store i32 %and, ptr %p, align 4
1328 define void @memop_unsigned_int_setbit(ptr nocapture %p) nounwind {
1330 ; CHECK-LABEL: memop_unsigned_int_setbit:
1331 ; CHECK: memw(r{{[0-9]+}}+#0) = setbit(#7)
1332 %0 = load i32, ptr %p, align 4
1334 store i32 %or, ptr %p, align 4
1338 define void @memop_unsigned_int_add5_index(ptr nocapture %p, i32 %i) nounwind {
1340 ; CHECK-LABEL: memop_unsigned_int_add5_index:
1341 ; CHECK: memw(r{{[0-9]+}}+#0) += #5
1342 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1349 define void @memop_unsigned_int_add_index(ptr nocapture %p, i32 %i, i32 %x) nounwind {
1351 ; CHECK-LABEL: memop_unsigned_int_add_index:
1352 ; CHECK: memw(r{{[0-9]+}}+#0) += r{{[0-9]+}}
1353 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1360 define void @memop_unsigned_int_sub_index(ptr nocapture %p, i32 %i, i32 %x) nounwind {
1362 ; CHECK-LABEL: memop_unsigned_int_sub_index:
1363 ; CHECK: memw(r{{[0-9]+}}+#0) -= r{{[0-9]+}}
1364 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1371 define void @memop_unsigned_int_or_index(ptr nocapture %p, i32 %i, i32 %x) nounwind {
1373 ; CHECK-LABEL: memop_unsigned_int_or_index:
1374 ; CHECK: memw(r{{[0-9]+}}+#0) |= r{{[0-9]+}}
1375 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1382 define void @memop_unsigned_int_and_index(ptr nocapture %p, i32 %i, i32 %x) nounwind {
1384 ; CHECK-LABEL: memop_unsigned_int_and_index:
1385 ; CHECK: memw(r{{[0-9]+}}+#0) &= r{{[0-9]+}}
1386 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1393 define void @memop_unsigned_int_clrbit_index(ptr nocapture %p, i32 %i) nounwind {
1395 ; CHECK-LABEL: memop_unsigned_int_clrbit_index:
1396 ; CHECK: memw(r{{[0-9]+}}+#0) = clrbit(#5)
1397 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1399 %and = and i32 %0, -33
1404 define void @memop_unsigned_int_setbit_index(ptr nocapture %p, i32 %i) nounwind {
1406 ; CHECK-LABEL: memop_unsigned_int_setbit_index:
1407 ; CHECK: memw(r{{[0-9]+}}+#0) = setbit(#7)
1408 %add.ptr = getelementptr inbounds i32, ptr %p, i32 %i
1415 define void @memop_unsigned_int_add5_index5(ptr nocapture %p) nounwind {
1417 ; CHECK-LABEL: memop_unsigned_int_add5_index5:
1418 ; CHECK: memw(r{{[0-9]+}}+#20) += #5
1419 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1426 define void @memop_unsigned_int_add_index5(ptr nocapture %p, i32 %x) nounwind {
1428 ; CHECK-LABEL: memop_unsigned_int_add_index5:
1429 ; CHECK: memw(r{{[0-9]+}}+#20) += r{{[0-9]+}}
1430 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1437 define void @memop_unsigned_int_sub_index5(ptr nocapture %p, i32 %x) nounwind {
1439 ; CHECK-LABEL: memop_unsigned_int_sub_index5:
1440 ; CHECK: memw(r{{[0-9]+}}+#20) -= r{{[0-9]+}}
1441 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1448 define void @memop_unsigned_int_or_index5(ptr nocapture %p, i32 %x) nounwind {
1450 ; CHECK-LABEL: memop_unsigned_int_or_index5:
1451 ; CHECK: memw(r{{[0-9]+}}+#20) |= r{{[0-9]+}}
1452 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1459 define void @memop_unsigned_int_and_index5(ptr nocapture %p, i32 %x) nounwind {
1461 ; CHECK-LABEL: memop_unsigned_int_and_index5:
1462 ; CHECK: memw(r{{[0-9]+}}+#20) &= r{{[0-9]+}}
1463 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1470 define void @memop_unsigned_int_clrbit_index5(ptr nocapture %p) nounwind {
1472 ; CHECK-LABEL: memop_unsigned_int_clrbit_index5:
1473 ; CHECK: memw(r{{[0-9]+}}+#20) = clrbit(#5)
1474 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5
1476 %and = and i32 %0, -33
1481 define void @memop_unsigned_int_setbit_index5(ptr nocapture %p) nounwind {
1483 ; CHECK-LABEL: memop_unsigned_int_setbit_index5:
1484 ; CHECK: memw(r{{[0-9]+}}+#20) = setbit(#7)
1485 %add.ptr = getelementptr inbounds i32, ptr %p, i32 5