Lines Matching +full:0 +full:x32
2 …avx512vl -mattr=+avx512bw -mattr=+avx512dq -verify-machineinstrs | FileCheck %s --check-prefix=X32
8 ; X32-LABEL: test_argReti1:
9 ; X32: # %bb.0:
10 ; X32-NEXT: incb %al
11 ; X32-NEXT: # kill: def $al killed $al killed $eax
12 ; X32-NEXT: retl
15 ; WIN64: # %bb.0:
21 ; LINUXOSX64: # %bb.0:
31 ; X32-LABEL: test_CallargReti1:
32 ; X32: # %bb.0:
33 ; X32-NEXT: incb %al
34 ; X32-NEXT: movzbl %al, %eax
35 ; X32-NEXT: calll _test_argReti1
36 ; X32-NEXT: incb %al
37 ; X32-NEXT: retl
40 ; WIN64: # %bb.0:
53 ; LINUXOSX64: # %bb.0:
71 ; X32-LABEL: test_argReti8:
72 ; X32: # %bb.0:
73 ; X32-NEXT: incb %al
74 ; X32-NEXT: # kill: def $al killed $al killed $eax
75 ; X32-NEXT: retl
78 ; WIN64: # %bb.0:
84 ; LINUXOSX64: # %bb.0:
94 ; X32-LABEL: test_CallargReti8:
95 ; X32: # %bb.0:
96 ; X32-NEXT: incb %al
97 ; X32-NEXT: movzbl %al, %eax
98 ; X32-NEXT: calll _test_argReti8
99 ; X32-NEXT: incb %al
100 ; X32-NEXT: retl
103 ; WIN64: # %bb.0:
116 ; LINUXOSX64: # %bb.0:
134 ; X32-LABEL: test_argReti16:
135 ; X32: # %bb.0:
136 ; X32-NEXT: incl %eax
137 ; X32-NEXT: # kill: def $ax killed $ax killed $eax
138 ; X32-NEXT: retl
141 ; WIN64: # %bb.0:
147 ; LINUXOSX64: # %bb.0:
157 ; X32-LABEL: test_CallargReti16:
158 ; X32: # %bb.0:
159 ; X32-NEXT: incl %eax
160 ; X32-NEXT: calll _test_argReti16
161 ; X32-NEXT: # kill: def $ax killed $ax def $eax
162 ; X32-NEXT: incl %eax
163 ; X32-NEXT: # kill: def $ax killed $ax killed $eax
164 ; X32-NEXT: retl
167 ; WIN64: # %bb.0:
181 ; LINUXOSX64: # %bb.0:
200 ; X32-LABEL: test_argReti32:
201 ; X32: # %bb.0:
202 ; X32-NEXT: incl %eax
203 ; X32-NEXT: retl
206 ; WIN64: # %bb.0:
211 ; LINUXOSX64: # %bb.0:
220 ; X32-LABEL: test_CallargReti32:
221 ; X32: # %bb.0:
222 ; X32-NEXT: incl %eax
223 ; X32-NEXT: calll _test_argReti32
224 ; X32-NEXT: incl %eax
225 ; X32-NEXT: retl
228 ; WIN64: # %bb.0:
240 ; LINUXOSX64: # %bb.0:
257 ; X32-LABEL: test_argReti64:
258 ; X32: # %bb.0:
259 ; X32-NEXT: addl $3, %eax
260 ; X32-NEXT: adcl $1, %ecx
261 ; X32-NEXT: retl
264 ; WIN64: # %bb.0:
265 ; WIN64-NEXT: movabsq $4294967299, %rcx # imm = 0x100000003
270 ; LINUXOSX64: # %bb.0:
271 ; LINUXOSX64-NEXT: movabsq $4294967299, %rcx # imm = 0x100000003
280 ; X32-LABEL: test_CallargReti64:
281 ; X32: # %bb.0:
282 ; X32-NEXT: addl $1, %eax
283 ; X32-NEXT: adcl $0, %ecx
284 ; X32-NEXT: calll _test_argReti64
285 ; X32-NEXT: addl $1, %eax
286 ; X32-NEXT: adcl $0, %ecx
287 ; X32-NEXT: retl
290 ; WIN64: # %bb.0:
302 ; LINUXOSX64: # %bb.0:
319 ; X32-LABEL: test_argRetFloat:
320 ; X32: # %bb.0:
321 ; X32-NEXT: vaddss __real@3f800000, %xmm0, %xmm0
322 ; X32-NEXT: retl
325 ; WIN64: # %bb.0:
330 ; LINUXOSX64: # %bb.0:
331 ; LINUXOSX64-NEXT: vaddss {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
339 ; X32-LABEL: test_CallargRetFloat:
340 ; X32: # %bb.0:
341 ; X32-NEXT: subl $28, %esp
342 ; X32-NEXT: vmovups %xmm4, (%esp) # 16-byte Spill
343 ; X32-NEXT: vmovss {{.*#+}} xmm4 = [1.0E+0,0.0E+0,0.0E+0,0.0E+0]
344 ; X32-NEXT: vaddss %xmm4, %xmm0, %xmm0
345 ; X32-NEXT: calll _test_argRetFloat
346 ; X32-NEXT: vaddss %xmm4, %xmm0, %xmm0
347 ; X32-NEXT: vmovups (%esp), %xmm4 # 16-byte Reload
348 ; X32-NEXT: addl $28, %esp
349 ; X32-NEXT: retl
352 ; WIN64: # %bb.0:
356 ; WIN64-NEXT: .seh_savexmm %xmm8, 0
358 ; WIN64-NEXT: vmovss {{.*#+}} xmm8 = [1.0E+0,0.0E+0,0.0E+0,0.0E+0]
368 ; LINUXOSX64: # %bb.0:
373 ; LINUXOSX64-NEXT: vmovss {{.*#+}} xmm8 = [1.0E+0,0.0E+0,0.0E+0,0.0E+0]
389 ; X32-LABEL: test_argRetDouble:
390 ; X32: # %bb.0:
391 ; X32-NEXT: vaddsd __real@3ff0000000000000, %xmm0, %xmm0
392 ; X32-NEXT: retl
395 ; WIN64: # %bb.0:
400 ; LINUXOSX64: # %bb.0:
401 ; LINUXOSX64-NEXT: vaddsd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
409 ; X32-LABEL: test_CallargRetDouble:
410 ; X32: # %bb.0:
411 ; X32-NEXT: subl $28, %esp
412 ; X32-NEXT: vmovups %xmm4, (%esp) # 16-byte Spill
413 ; X32-NEXT: vmovsd {{.*#+}} xmm4 = [1.0E+0,0.0E+0]
414 ; X32-NEXT: vaddsd %xmm4, %xmm0, %xmm0
415 ; X32-NEXT: calll _test_argRetDouble
416 ; X32-NEXT: vaddsd %xmm4, %xmm0, %xmm0
417 ; X32-NEXT: vmovups (%esp), %xmm4 # 16-byte Reload
418 ; X32-NEXT: addl $28, %esp
419 ; X32-NEXT: retl
422 ; WIN64: # %bb.0:
426 ; WIN64-NEXT: .seh_savexmm %xmm8, 0
428 ; WIN64-NEXT: vmovsd {{.*#+}} xmm8 = [1.0E+0,0.0E+0]
438 ; LINUXOSX64: # %bb.0:
443 ; LINUXOSX64-NEXT: vmovsd {{.*#+}} xmm8 = [1.0E+0,0.0E+0]
459 ; X32-LABEL: test_argRetf80:
460 ; X32: # %bb.0:
461 ; X32-NEXT: fadd %st, %st(0)
462 ; X32-NEXT: retl
465 ; WIN64: # %bb.0:
466 ; WIN64-NEXT: fadd %st, %st(0)
470 ; LINUXOSX64: # %bb.0:
471 ; LINUXOSX64-NEXT: fadd %st, %st(0)
479 ; X32-LABEL: test_argParamf80:
480 ; X32: # %bb.0:
481 ; X32-NEXT: pushl %ebp
482 ; X32-NEXT: movl %esp, %ebp
483 ; X32-NEXT: andl $-8, %esp
484 ; X32-NEXT: subl $8, %esp
485 ; X32-NEXT: fstpl (%esp)
486 ; X32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
487 ; X32-NEXT: movl %ebp, %esp
488 ; X32-NEXT: popl %ebp
489 ; X32-NEXT: retl
492 ; WIN64: # %bb.0:
495 ; WIN64-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
500 ; LINUXOSX64: # %bb.0:
501 ; LINUXOSX64-NEXT: fstpl -{{[0-9]+}}(%rsp)
502 ; LINUXOSX64-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
510 ; X32-LABEL: test_CallargRetf80:
511 ; X32: # %bb.0:
512 ; X32-NEXT: fadd %st, %st(0)
513 ; X32-NEXT: calll _test_argRetf80
514 ; X32-NEXT: fadd %st, %st(0)
515 ; X32-NEXT: retl
518 ; WIN64: # %bb.0:
522 ; WIN64-NEXT: fadd %st, %st(0)
524 ; WIN64-NEXT: fadd %st, %st(0)
530 ; LINUXOSX64: # %bb.0:
533 ; LINUXOSX64-NEXT: fadd %st, %st(0)
535 ; LINUXOSX64-NEXT: fadd %st, %st(0)
546 ; X32-LABEL: test_CallargParamf80:
547 ; X32: # %bb.0:
548 ; X32-NEXT: fadd %st, %st(0)
549 ; X32-NEXT: calll _test_argParamf80
550 ; X32-NEXT: vaddsd %xmm0, %xmm0, %xmm0
551 ; X32-NEXT: retl
554 ; WIN64: # %bb.0:
558 ; WIN64-NEXT: fadd %st, %st(0)
566 ; LINUXOSX64: # %bb.0:
569 ; LINUXOSX64-NEXT: fadd %st, %st(0)
583 ; X32-LABEL: test_argRetPointer:
584 ; X32: # %bb.0:
585 ; X32-NEXT: incl %eax
586 ; X32-NEXT: retl
589 ; WIN64: # %bb.0:
594 ; LINUXOSX64: # %bb.0:
605 ; X32-LABEL: test_CallargRetPointer:
606 ; X32: # %bb.0:
607 ; X32-NEXT: incl %eax
608 ; X32-NEXT: calll _test_argRetPointer
609 ; X32-NEXT: incl %eax
610 ; X32-NEXT: retl
613 ; WIN64: # %bb.0:
625 ; LINUXOSX64: # %bb.0:
646 ; X32-LABEL: test_argRet128Vector:
647 ; X32: # %bb.0:
648 ; X32-NEXT: vpslld $31, %xmm0, %xmm0
649 ; X32-NEXT: vpmovd2m %xmm0, %k1
650 ; X32-NEXT: vpblendmd %xmm1, %xmm2, %xmm0 {%k1}
651 ; X32-NEXT: retl
654 ; WIN64: # %bb.0:
661 ; LINUXOSX64: # %bb.0:
672 ; X32-LABEL: test_CallargRet128Vector:
673 ; X32: # %bb.0:
674 ; X32-NEXT: subl $44, %esp
675 ; X32-NEXT: vmovups %xmm4, {{[-0-9]+}}(%e{{[sb]}}p) # 16-byte Spill
676 ; X32-NEXT: vmovdqa %xmm1, %xmm4
677 ; X32-NEXT: vpslld $31, %xmm0, %xmm1
678 ; X32-NEXT: vpmovd2m %xmm1, %k1
679 ; X32-NEXT: kmovw %k1, {{[-0-9]+}}(%e{{[sb]}}p) # 2-byte Spill
680 ; X32-NEXT: vmovdqa %xmm4, %xmm1
681 ; X32-NEXT: vmovdqa %xmm4, %xmm2
682 ; X32-NEXT: calll _test_argRet128Vector
683 ; X32-NEXT: kmovw {{[-0-9]+}}(%e{{[sb]}}p), %k1 # 2-byte Reload
684 ; X32-NEXT: vmovdqa32 %xmm4, %xmm0 {%k1}
685 ; X32-NEXT: vmovups {{[-0-9]+}}(%e{{[sb]}}p), %xmm4 # 16-byte Reload
686 ; X32-NEXT: addl $44, %esp
687 ; X32-NEXT: retl
690 ; WIN64: # %bb.0:
693 ; WIN64-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
699 ; WIN64-NEXT: kmovw %k1, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
703 ; WIN64-NEXT: kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload
705 ; WIN64-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload
711 ; LINUXOSX64: # %bb.0:
713 ; LINUXOSX64-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
719 ; LINUXOSX64-NEXT: kmovw %k1, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
723 ; LINUXOSX64-NEXT: kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload
725 ; LINUXOSX64-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload
736 ; X32-LABEL: test_argRet256Vector:
737 ; X32: # %bb.0:
738 ; X32-NEXT: kmovd %eax, %k1
739 ; X32-NEXT: vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
740 ; X32-NEXT: retl
743 ; WIN64: # %bb.0:
749 ; LINUXOSX64: # %bb.0:
759 ; X32-LABEL: test_CallargRet256Vector:
760 ; X32: # %bb.0:
761 ; X32-NEXT: subl $36, %esp
762 ; X32-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%e{{[sb]}}p) # 32-byte Spill
763 ; X32-NEXT: kmovd %eax, %k1
764 ; X32-NEXT: kmovw %k1, {{[-0-9]+}}(%e{{[sb]}}p) # 2-byte Spill
765 ; X32-NEXT: vmovdqa %ymm0, %ymm1
766 ; X32-NEXT: calll _test_argRet256Vector
767 ; X32-NEXT: kmovw {{[-0-9]+}}(%e{{[sb]}}p), %k1 # 2-byte Reload
768 ; X32-NEXT: vmovdqu {{[-0-9]+}}(%e{{[sb]}}p), %ymm1 # 32-byte Reload
769 ; X32-NEXT: vmovdqa32 %ymm1, %ymm0 {%k1}
770 ; X32-NEXT: addl $36, %esp
771 ; X32-NEXT: retl
774 ; WIN64: # %bb.0:
778 ; WIN64-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
780 ; WIN64-NEXT: kmovw %k1, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
783 ; WIN64-NEXT: kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload
784 ; WIN64-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
791 ; LINUXOSX64: # %bb.0:
794 ; LINUXOSX64-NEXT: vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
796 ; LINUXOSX64-NEXT: kmovw %k1, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
799 ; LINUXOSX64-NEXT: kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload
800 ; LINUXOSX64-NEXT: vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload
812 ; X32-LABEL: test_argRet512Vector:
813 ; X32: # %bb.0:
814 ; X32-NEXT: kmovd %eax, %k1
815 ; X32-NEXT: vpblendmd %zmm0, %zmm1, %zmm0 {%k1}
816 ; X32-NEXT: retl
819 ; WIN64: # %bb.0:
825 ; LINUXOSX64: # %bb.0:
835 ; X32-LABEL: test_CallargRet512Vector:
836 ; X32: # %bb.0:
837 ; X32-NEXT: subl $68, %esp
838 ; X32-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%e{{[sb]}}p) # 64-byte Spill
839 ; X32-NEXT: kmovd %eax, %k1
840 ; X32-NEXT: kmovw %k1, {{[-0-9]+}}(%e{{[sb]}}p) # 2-byte Spill
841 ; X32-NEXT: vmovdqa64 %zmm0, %zmm1
842 ; X32-NEXT: calll _test_argRet512Vector
843 ; X32-NEXT: kmovw {{[-0-9]+}}(%e{{[sb]}}p), %k1 # 2-byte Reload
844 ; X32-NEXT: vmovdqu64 {{[-0-9]+}}(%e{{[sb]}}p), %zmm1 # 64-byte Reload
845 ; X32-NEXT: vmovdqa32 %zmm1, %zmm0 {%k1}
846 ; X32-NEXT: addl $68, %esp
847 ; X32-NEXT: retl
850 ; WIN64: # %bb.0:
854 ; WIN64-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
856 ; WIN64-NEXT: kmovw %k1, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
859 ; WIN64-NEXT: kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload
860 ; WIN64-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
867 ; LINUXOSX64: # %bb.0:
870 ; LINUXOSX64-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
872 ; LINUXOSX64-NEXT: kmovw %k1, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
875 ; LINUXOSX64-NEXT: kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload
876 ; LINUXOSX64-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload
888 ; X32-LABEL: testf32_inp:
889 ; X32: # %bb.0:
890 ; X32-NEXT: subl $44, %esp
891 ; X32-NEXT: vmovups %xmm7, {{[-0-9]+}}(%e{{[sb]}}p) # 16-byte Spill
892 ; X32-NEXT: vmovups %xmm6, (%esp) # 16-byte Spill
893 ; X32-NEXT: vaddps %zmm2, %zmm0, %zmm6
894 ; X32-NEXT: vaddps %zmm3, %zmm1, %zmm7
895 ; X32-NEXT: vmulps %zmm2, %zmm0, %zmm0
896 ; X32-NEXT: vsubps %zmm0, %zmm6, %zmm0
897 ; X32-NEXT: vmulps %zmm3, %zmm1, %zmm1
898 ; X32-NEXT: vsubps %zmm1, %zmm7, %zmm1
899 ; X32-NEXT: vaddps %zmm4, %zmm0, %zmm0
900 ; X32-NEXT: vaddps %zmm5, %zmm1, %zmm1
901 ; X32-NEXT: vmovups (%esp), %xmm6 # 16-byte Reload
902 ; X32-NEXT: vmovups {{[-0-9]+}}(%e{{[sb]}}p), %xmm7 # 16-byte Reload
903 ; X32-NEXT: addl $44, %esp
904 ; X32-NEXT: retl
907 ; WIN64: # %bb.0:
919 ; LINUXOSX64: # %bb.0:
938 ; X32-LABEL: testi32_inp:
939 ; X32: # %bb.0:
940 ; X32-NEXT: pushl %ebp
941 ; X32-NEXT: pushl %ebx
942 ; X32-NEXT: subl $12, %esp
943 ; X32-NEXT: movl %esi, (%esp) # 4-byte Spill
944 ; X32-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
945 ; X32-NEXT: movl %eax, %ebp
946 ; X32-NEXT: leal (%edx,%edi), %eax
947 ; X32-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
948 ; X32-NEXT: movl %edx, %eax
949 ; X32-NEXT: subl %edi, %eax
950 ; X32-NEXT: movl %ebp, %edx
951 ; X32-NEXT: subl %ecx, %edx
952 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx
953 ; X32-NEXT: subl {{[0-9]+}}(%esp), %ebx
954 ; X32-NEXT: imull %edx, %ebx
955 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi
956 ; X32-NEXT: movl %esi, %edx
957 ; X32-NEXT: subl {{[0-9]+}}(%esp), %edx
958 ; X32-NEXT: imull %eax, %edx
959 ; X32-NEXT: addl %ebx, %edx
960 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx
961 ; X32-NEXT: movl (%esp), %edi # 4-byte Reload
962 ; X32-NEXT: subl %ebx, %edi
963 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
964 ; X32-NEXT: movl %ecx, %eax
965 ; X32-NEXT: subl {{[0-9]+}}(%esp), %eax
966 ; X32-NEXT: imull %edi, %eax
967 ; X32-NEXT: addl %edx, %eax
968 ; X32-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
969 ; X32-NEXT: addl (%esp), %ebx # 4-byte Folded Reload
970 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
971 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edx
972 ; X32-NEXT: imull %edx, %ebp
973 ; X32-NEXT: addl {{[0-9]+}}(%esp), %esi
974 ; X32-NEXT: imull {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
975 ; X32-NEXT: addl %esi, %ebp
976 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx
977 ; X32-NEXT: imull %ebx, %ecx
978 ; X32-NEXT: addl %ecx, %ebp
979 ; X32-NEXT: addl %eax, %ebp
980 ; X32-NEXT: movl %ebp, %eax
981 ; X32-NEXT: addl $12, %esp
982 ; X32-NEXT: popl %ebx
983 ; X32-NEXT: popl %ebp
984 ; X32-NEXT: retl
987 ; WIN64: # %bb.0:
1034 ; LINUXOSX64: # %bb.0:
1059 ; LINUXOSX64-NEXT: movl {{[0-9]+}}(%rsp), %r11d
1102 ; X32-LABEL: testf32_stack:
1103 ; X32: # %bb.0:
1104 ; X32-NEXT: pushl %ebp
1105 ; X32-NEXT: movl %esp, %ebp
1106 ; X32-NEXT: andl $-64, %esp
1107 ; X32-NEXT: subl $64, %esp
1108 ; X32-NEXT: vaddps %zmm3, %zmm1, %zmm1
1109 ; X32-NEXT: vaddps %zmm2, %zmm0, %zmm0
1110 ; X32-NEXT: vaddps %zmm0, %zmm4, %zmm0
1111 ; X32-NEXT: vaddps %zmm1, %zmm5, %zmm1
1112 ; X32-NEXT: vaddps %zmm1, %zmm7, %zmm1
1113 ; X32-NEXT: vaddps %zmm0, %zmm6, %zmm0
1114 ; X32-NEXT: vaddps 8(%ebp), %zmm0, %zmm0
1115 ; X32-NEXT: vaddps 72(%ebp), %zmm1, %zmm1
1116 ; X32-NEXT: vaddps 200(%ebp), %zmm1, %zmm1
1117 ; X32-NEXT: vaddps 136(%ebp), %zmm0, %zmm0
1118 ; X32-NEXT: vaddps 264(%ebp), %zmm0, %zmm0
1119 ; X32-NEXT: vaddps 328(%ebp), %zmm1, %zmm1
1120 ; X32-NEXT: vaddps 456(%ebp), %zmm1, %zmm1
1121 ; X32-NEXT: vaddps 392(%ebp), %zmm0, %zmm0
1122 ; X32-NEXT: vaddps 520(%ebp), %zmm0, %zmm0
1123 ; X32-NEXT: vaddps 584(%ebp), %zmm1, %zmm1
1124 ; X32-NEXT: movl %ebp, %esp
1125 ; X32-NEXT: popl %ebp
1126 ; X32-NEXT: retl
1129 ; WIN64: # %bb.0:
1132 ; WIN64-NEXT: leaq {{[0-9]+}}(%rsp), %rbp
1155 ; LINUXOSX64: # %bb.0:
1191 … x86_regcallcc i32 @test_argRetMixTypes(double, float, i8 signext, i32, i64, i16 signext, ptr) #0 {
1192 ; X32-LABEL: test_argRetMixTypes:
1193 ; X32: # %bb.0:
1194 ; X32-NEXT: pushl %ebx
1195 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx
1196 ; X32-NEXT: vcvtss2sd %xmm1, %xmm1, %xmm1
1197 ; X32-NEXT: vaddsd %xmm0, %xmm1, %xmm0
1198 ; X32-NEXT: vcvtsi2sd %eax, %xmm2, %xmm1
1199 ; X32-NEXT: vaddsd %xmm1, %xmm0, %xmm0
1200 ; X32-NEXT: vcvtsi2sd %ecx, %xmm2, %xmm1
1201 ; X32-NEXT: vaddsd %xmm1, %xmm0, %xmm0
1202 ; X32-NEXT: vmovd %edx, %xmm1
1203 ; X32-NEXT: vpinsrd $1, %edi, %xmm1, %xmm1
1204 ; X32-NEXT: vcvtqq2pd %ymm1, %ymm1
1205 ; X32-NEXT: vaddsd %xmm1, %xmm0, %xmm0
1206 ; X32-NEXT: vcvtsi2sd %esi, %xmm2, %xmm1
1207 ; X32-NEXT: vaddsd %xmm1, %xmm0, %xmm0
1208 ; X32-NEXT: vcvtsi2sdl (%ebx), %xmm2, %xmm1
1209 ; X32-NEXT: vaddsd %xmm1, %xmm0, %xmm0
1210 ; X32-NEXT: vcvttsd2si %xmm0, %eax
1211 ; X32-NEXT: popl %ebx
1212 ; X32-NEXT: vzeroupper
1213 ; X32-NEXT: retl
1216 ; WIN64: # %bb.0:
1233 ; LINUXOSX64: # %bb.0:
1249 %9 = fadd double %8, %0
1267 …86_regcallcc %struct.complex @test_argMultiRet(float, double, i32, i8, i64) local_unnamed_addr #0 {
1268 ; X32-LABEL: test_argMultiRet:
1269 ; X32: # %bb.0:
1270 ; X32-NEXT: vaddsd __real@4014000000000000, %xmm1, %xmm1
1271 ; X32-NEXT: movl $4, %eax
1272 ; X32-NEXT: movb $7, %cl
1273 ; X32-NEXT: movl $999, %edx # imm = 0x3E7
1274 ; X32-NEXT: xorl %edi, %edi
1275 ; X32-NEXT: retl
1278 ; WIN64: # %bb.0:
1280 ; WIN64-NEXT: movl $999, %edx # imm = 0x3E7
1286 ; LINUXOSX64: # %bb.0:
1287 ; LINUXOSX64-NEXT: vaddsd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm1
1288 ; LINUXOSX64-NEXT: movl $999, %edx # imm = 0x3E7
1293 %7 = insertvalue %struct.complex undef, float %0, 0