Lines Matching +full:linux +full:-
1 ; RUN: llc -mtriple=i386-pc-linux-gnu < %s -o - | FileCheck --check-prefix=LINUX-I386 %s
2 ; RUN: llc -mtriple=x86_64-pc-linux-gnu < %s -o - | FileCheck --check-prefix=LINUX-X64 %s
3 ; RUN: llc -code-model=kernel -mtriple=x86_64-pc-linux-gnu < %s -o - | FileCheck --check-prefix=LIN…
4 ; RUN: llc -mtriple=x86_64-apple-darwin < %s -o - | FileCheck --check-prefix=DARWIN-X64 %s
5 ; RUN: llc -mtriple=amd64-pc-openbsd < %s -o - | FileCheck --check-prefix=OPENBSD-AMD64 %s
6 ; RUN: llc -mtriple=i386-pc-windows-msvc < %s -o - | FileCheck -check-prefix=MSVC-I386 %s
29 ; LINUX-I386-LABEL: test1a:
30 ; LINUX-I386-NOT: calll __stack_chk_fail
31 ; LINUX-I386: .cfi_endproc
33 ; LINUX-X64-LABEL: test1a:
34 ; LINUX-X64-NOT: callq __stack_chk_fail
35 ; LINUX-X64: .cfi_endproc
37 ; LINUX-KERNEL-X64-LABEL: test1a:
38 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
39 ; LINUX-KERNEL-X64: .cfi_endproc
41 ; DARWIN-X64-LABEL: test1a:
42 ; DARWIN-X64-NOT: callq ___stack_chk_fail
43 ; DARWIN-X64: .cfi_endproc
45 ; MSVC-I386-LABEL: test1a:
46 ; MSVC-I386-NOT: calll @__security_check_cookie@4
47 ; MSVC-I386: retl
65 ; LINUX-I386-LABEL: test1b:
66 ; LINUX-I386: mov{{l|q}} %gs:
67 ; LINUX-I386: calll __stack_chk_fail
69 ; LINUX-X64-LABEL: test1b:
70 ; LINUX-X64: mov{{l|q}} %fs:
71 ; LINUX-X64: callq __stack_chk_fail
73 ; LINUX-KERNEL-X64-LABEL: test1b:
74 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
75 ; LINUX-KERNEL-X64: callq __stack_chk_fail
77 ; DARWIN-X64-LABEL: test1b:
78 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
79 ; DARWIN-X64: callq ___stack_chk_fail
81 ; OPENBSD-AMD64-LABEL: test1b:
82 ; OPENBSD-AMD64: movq __guard_local(%rip)
83 ; OPENBSD-AMD64: callq __stack_smash_handler
85 ; MSVC-I386-LABEL: test1b:
86 ; MSVC-I386: movl ___security_cookie,
87 ; MSVC-I386: calll @__security_check_cookie@4
105 ; LINUX-I386-LABEL: test1c:
106 ; LINUX-I386: mov{{l|q}} %gs:
107 ; LINUX-I386: calll __stack_chk_fail
109 ; LINUX-X64-LABEL: test1c:
110 ; LINUX-X64: mov{{l|q}} %fs:
111 ; LINUX-X64: callq __stack_chk_fail
113 ; LINUX-KERNEL-X64-LABEL: test1c:
114 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
115 ; LINUX-KERNEL-X64: callq __stack_chk_fail
117 ; DARWIN-X64-LABEL: test1c:
118 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
119 ; DARWIN-X64: callq ___stack_chk_fail
121 ; MSVC-I386-LABEL: test1c:
122 ; MSVC-I386: movl ___security_cookie,
123 ; MSVC-I386: calll @__security_check_cookie@4
141 ; LINUX-I386-LABEL: test1d:
142 ; LINUX-I386: mov{{l|q}} %gs:
143 ; LINUX-I386: calll __stack_chk_fail
145 ; LINUX-X64-LABEL: test1d:
146 ; LINUX-X64: mov{{l|q}} %fs:
147 ; LINUX-X64: callq __stack_chk_fail
149 ; LINUX-KERNEL-X64-LABEL: test1d:
150 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
151 ; LINUX-KERNEL-X64: callq __stack_chk_fail
153 ; DARWIN-X64-LABEL: test1d:
154 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
155 ; DARWIN-X64: callq ___stack_chk_fail
157 ; MSVC-I386-LABEL: test1d:
158 ; MSVC-I386: movl ___security_cookie,
159 ; MSVC-I386: calll @__security_check_cookie@4
176 ; LINUX-I386-LABEL: test2a:
177 ; LINUX-I386-NOT: calll __stack_chk_fail
178 ; LINUX-I386: .cfi_endproc
180 ; LINUX-X64-LABEL: test2a:
181 ; LINUX-X64-NOT: callq __stack_chk_fail
182 ; LINUX-X64: .cfi_endproc
184 ; LINUX-KERNEL-X64-LABEL: test2a:
185 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
186 ; LINUX-KERNEL-X64: .cfi_endproc
188 ; DARWIN-X64-LABEL: test2a:
189 ; DARWIN-X64-NOT: callq ___stack_chk_fail
190 ; DARWIN-X64: .cfi_endproc
192 ; MSVC-I386-LABEL: test2a:
193 ; MSVC-I386-NOT: calll @__security_check_cookie@4
194 ; MSVC-I386: retl
214 ; LINUX-I386-LABEL: test2b:
215 ; LINUX-I386: mov{{l|q}} %gs:
216 ; LINUX-I386: calll __stack_chk_fail
218 ; LINUX-X64-LABEL: test2b:
219 ; LINUX-X64: mov{{l|q}} %fs:
220 ; LINUX-X64: callq __stack_chk_fail
222 ; LINUX-KERNEL-X64-LABEL: test2b:
223 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
224 ; LINUX-KERNEL-X64: callq __stack_chk_fail
226 ; DARWIN-X64-LABEL: test2b:
227 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
228 ; DARWIN-X64: callq ___stack_chk_fail
248 ; LINUX-I386-LABEL: test2c:
249 ; LINUX-I386: mov{{l|q}} %gs:
250 ; LINUX-I386: calll __stack_chk_fail
252 ; LINUX-X64-LABEL: test2c:
253 ; LINUX-X64: mov{{l|q}} %fs:
254 ; LINUX-X64: callq __stack_chk_fail
256 ; LINUX-KERNEL-X64-LABEL: test2c:
257 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
258 ; LINUX-KERNEL-X64: callq __stack_chk_fail
260 ; DARWIN-X64-LABEL: test2c:
261 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
262 ; DARWIN-X64: callq ___stack_chk_fail
264 ; MSVC-I386-LABEL: test2c:
265 ; MSVC-I386: movl ___security_cookie,
266 ; MSVC-I386: calll @__security_check_cookie@4
286 ; LINUX-I386-LABEL: test2d:
287 ; LINUX-I386: mov{{l|q}} %gs:
288 ; LINUX-I386: calll __stack_chk_fail
290 ; LINUX-X64-LABEL: test2d:
291 ; LINUX-X64: mov{{l|q}} %fs:
292 ; LINUX-X64: callq __stack_chk_fail
294 ; LINUX-KERNEL-X64-LABEL: test2d:
295 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
296 ; LINUX-KERNEL-X64: callq __stack_chk_fail
298 ; DARWIN-X64-LABEL: test2d:
299 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
300 ; DARWIN-X64: callq ___stack_chk_fail
302 ; MSVC-I386-LABEL: test2d:
303 ; MSVC-I386: movl ___security_cookie,
304 ; MSVC-I386: calll @__security_check_cookie@4
323 ; LINUX-I386-LABEL: test3a:
324 ; LINUX-I386-NOT: calll __stack_chk_fail
325 ; LINUX-I386: .cfi_endproc
327 ; LINUX-X64-LABEL: test3a:
328 ; LINUX-X64-NOT: callq __stack_chk_fail
329 ; LINUX-X64: .cfi_endproc
331 ; LINUX-KERNEL-X64-LABEL: test3a:
332 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
333 ; LINUX-KERNEL-X64: .cfi_endproc
335 ; DARWIN-X64-LABEL: test3a:
336 ; DARWIN-X64-NOT: callq ___stack_chk_fail
337 ; DARWIN-X64: .cfi_endproc
339 ; MSVC-I386-LABEL: test3a:
340 ; MSVC-I386-NOT: calll @__security_check_cookie@4
341 ; MSVC-I386: retl
359 ; LINUX-I386-LABEL: test3b:
360 ; LINUX-I386-NOT: calll __stack_chk_fail
361 ; LINUX-I386: .cfi_endproc
363 ; LINUX-X64-LABEL: test3b:
364 ; LINUX-X64-NOT: callq __stack_chk_fail
365 ; LINUX-X64: .cfi_endproc
367 ; LINUX-KERNEL-X64-LABEL: test3b:
368 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
369 ; LINUX-KERNEL-X64: .cfi_endproc
371 ; DARWIN-X64-LABEL: test3b:
372 ; DARWIN-X64-NOT: callq ___stack_chk_fail
373 ; DARWIN-X64: .cfi_endproc
375 ; MSVC-I386-LABEL: test3b:
376 ; MSVC-I386-NOT: calll @__security_check_cookie@4
377 ; MSVC-I386: retl
395 ; LINUX-I386-LABEL: test3c:
396 ; LINUX-I386: mov{{l|q}} %gs:
397 ; LINUX-I386: calll __stack_chk_fail
399 ; LINUX-X64-LABEL: test3c:
400 ; LINUX-X64: mov{{l|q}} %fs:
401 ; LINUX-X64: callq __stack_chk_fail
403 ; LINUX-KERNEL-X64-LABEL: test3c:
404 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
405 ; LINUX-KERNEL-X64: callq __stack_chk_fail
407 ; DARWIN-X64-LABEL: test3c:
408 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
409 ; DARWIN-X64: callq ___stack_chk_fail
411 ; MSVC-I386-LABEL: test3c:
412 ; MSVC-I386: movl ___security_cookie,
413 ; MSVC-I386: calll @__security_check_cookie@4
431 ; LINUX-I386-LABEL: test3d:
432 ; LINUX-I386: mov{{l|q}} %gs:
433 ; LINUX-I386: calll __stack_chk_fail
435 ; LINUX-X64-LABEL: test3d:
436 ; LINUX-X64: mov{{l|q}} %fs:
437 ; LINUX-X64: callq __stack_chk_fail
439 ; LINUX-KERNEL-X64-LABEL: test3d:
440 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
441 ; LINUX-KERNEL-X64: callq __stack_chk_fail
443 ; DARWIN-X64-LABEL: test3d:
444 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
445 ; DARWIN-X64: callq ___stack_chk_fail
447 ; MSVC-I386-LABEL: test3d:
448 ; MSVC-I386: movl ___security_cookie,
449 ; MSVC-I386: calll @__security_check_cookie@4
466 ; LINUX-I386-LABEL: test4a:
467 ; LINUX-I386-NOT: calll __stack_chk_fail
468 ; LINUX-I386: .cfi_endproc
470 ; LINUX-X64-LABEL: test4a:
471 ; LINUX-X64-NOT: callq __stack_chk_fail
472 ; LINUX-X64: .cfi_endproc
474 ; LINUX-KERNEL-X64-LABEL: test4a:
475 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
476 ; LINUX-KERNEL-X64: .cfi_endproc
478 ; DARWIN-X64-LABEL: test4a:
479 ; DARWIN-X64-NOT: callq ___stack_chk_fail
480 ; DARWIN-X64: .cfi_endproc
482 ; MSVC-I386-LABEL: test4a:
483 ; MSVC-I386-NOT: calll @__security_check_cookie@4
484 ; MSVC-I386: retl
504 ; LINUX-I386-LABEL: test4b:
505 ; LINUX-I386-NOT: calll __stack_chk_fail
506 ; LINUX-I386: .cfi_endproc
508 ; LINUX-X64-LABEL: test4b:
509 ; LINUX-X64-NOT: callq __stack_chk_fail
510 ; LINUX-X64: .cfi_endproc
512 ; LINUX-KERNEL-X64-LABEL: test4b:
513 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
514 ; LINUX-KERNEL-X64: .cfi_endproc
516 ; DARWIN-X64-LABEL: test4b:
517 ; DARWIN-X64-NOT: callq ___stack_chk_fail
518 ; DARWIN-X64: .cfi_endproc
520 ; MSVC-I386-LABEL: test4b:
521 ; MSVC-I386-NOT: calll @__security_check_cookie@4
522 ; MSVC-I386: retl
542 ; LINUX-I386-LABEL: test4c:
543 ; LINUX-I386: mov{{l|q}} %gs:
544 ; LINUX-I386: calll __stack_chk_fail
546 ; LINUX-X64-LABEL: test4c:
547 ; LINUX-X64: mov{{l|q}} %fs:
548 ; LINUX-X64: callq __stack_chk_fail
550 ; LINUX-KERNEL-X64-LABEL: test4c:
551 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
552 ; LINUX-KERNEL-X64: callq __stack_chk_fail
554 ; DARWIN-X64-LABEL: test4c:
555 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
556 ; DARWIN-X64: callq ___stack_chk_fail
558 ; MSVC-I386-LABEL: test4c:
559 ; MSVC-I386: movl ___security_cookie,
560 ; MSVC-I386: calll @__security_check_cookie@4
580 ; LINUX-I386-LABEL: test4d:
581 ; LINUX-I386: mov{{l|q}} %gs:
582 ; LINUX-I386: calll __stack_chk_fail
584 ; LINUX-X64-LABEL: test4d:
585 ; LINUX-X64: mov{{l|q}} %fs:
586 ; LINUX-X64: callq __stack_chk_fail
588 ; LINUX-KERNEL-X64-LABEL: test4d:
589 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
590 ; LINUX-KERNEL-X64: callq __stack_chk_fail
592 ; DARWIN-X64-LABEL: test4d:
593 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
594 ; DARWIN-X64: callq ___stack_chk_fail
596 ; MSVC-I386-LABEL: test4d:
597 ; MSVC-I386: movl ___security_cookie,
598 ; MSVC-I386: calll @__security_check_cookie@4
617 ; LINUX-I386-LABEL: test5a:
618 ; LINUX-I386-NOT: calll __stack_chk_fail
619 ; LINUX-I386: .cfi_endproc
621 ; LINUX-X64-LABEL: test5a:
622 ; LINUX-X64-NOT: callq __stack_chk_fail
623 ; LINUX-X64: .cfi_endproc
625 ; LINUX-KERNEL-X64-LABEL: test5a:
626 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
627 ; LINUX-KERNEL-X64: .cfi_endproc
629 ; DARWIN-X64-LABEL: test5a:
630 ; DARWIN-X64-NOT: callq ___stack_chk_fail
631 ; DARWIN-X64: .cfi_endproc
633 ; MSVC-I386-LABEL: test5a:
634 ; MSVC-I386-NOT: calll @__security_check_cookie@4
635 ; MSVC-I386: retl
649 ; LINUX-I386-LABEL: test5b:
650 ; LINUX-I386-NOT: calll __stack_chk_fail
651 ; LINUX-I386: .cfi_endproc
653 ; LINUX-X64-LABEL: test5b:
654 ; LINUX-X64-NOT: callq __stack_chk_fail
655 ; LINUX-X64: .cfi_endproc
657 ; LINUX-KERNEL-X64-LABEL: test5b:
658 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
659 ; LINUX-KERNEL-X64: .cfi_endproc
661 ; DARWIN-X64-LABEL: test5b:
662 ; DARWIN-X64-NOT: callq ___stack_chk_fail
663 ; DARWIN-X64: .cfi_endproc
665 ; MSVC-I386-LABEL: test5b:
666 ; MSVC-I386-NOT: calll @__security_check_cookie@4
667 ; MSVC-I386: retl
681 ; LINUX-I386-LABEL: test5c:
682 ; LINUX-I386-NOT: calll __stack_chk_fail
683 ; LINUX-I386: .cfi_endproc
685 ; LINUX-X64-LABEL: test5c:
686 ; LINUX-X64-NOT: callq __stack_chk_fail
687 ; LINUX-X64: .cfi_endproc
689 ; LINUX-KERNEL-X64-LABEL: test5c:
690 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
691 ; LINUX-KERNEL-X64: .cfi_endproc
693 ; DARWIN-X64-LABEL: test5c:
694 ; DARWIN-X64-NOT: callq ___stack_chk_fail
695 ; DARWIN-X64: .cfi_endproc
697 ; MSVC-I386-LABEL: test5c:
698 ; MSVC-I386-NOT: calll @__security_check_cookie@4
699 ; MSVC-I386: retl
713 ; LINUX-I386-LABEL: test5d:
714 ; LINUX-I386: mov{{l|q}} %gs:
715 ; LINUX-I386: calll __stack_chk_fail
717 ; LINUX-X64-LABEL: test5d:
718 ; LINUX-X64: mov{{l|q}} %fs:
719 ; LINUX-X64: callq __stack_chk_fail
721 ; LINUX-KERNEL-X64-LABEL: test5d:
722 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
723 ; LINUX-KERNEL-X64: callq __stack_chk_fail
725 ; DARWIN-X64-LABEL: test5d:
726 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
727 ; DARWIN-X64: callq ___stack_chk_fail
729 ; MSVC-I386-LABEL: test5d:
730 ; MSVC-I386: movl ___security_cookie,
731 ; MSVC-I386: calll @__security_check_cookie@4
739 ; test6a: Address-of local taken (j = &a)
744 ; LINUX-I386-LABEL: test6a:
745 ; LINUX-I386-NOT: calll __stack_chk_fail
746 ; LINUX-I386: .cfi_endproc
748 ; LINUX-X64-LABEL: test6a:
749 ; LINUX-X64-NOT: callq __stack_chk_fail
750 ; LINUX-X64: .cfi_endproc
752 ; LINUX-KERNEL-X64-LABEL: test6a:
753 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
754 ; LINUX-KERNEL-X64: .cfi_endproc
756 ; DARWIN-X64-LABEL: test6a:
757 ; DARWIN-X64-NOT: callq ___stack_chk_fail
758 ; DARWIN-X64: .cfi_endproc
760 ; MSVC-I386-LABEL: test6a:
761 ; MSVC-I386-NOT: calll @__security_check_cookie@4
762 ; MSVC-I386: retl
774 ; test6b: Address-of local taken (j = &a)
780 ; LINUX-I386-LABEL: test6b:
781 ; LINUX-I386-NOT: calll __stack_chk_fail
782 ; LINUX-I386: .cfi_endproc
784 ; LINUX-X64-LABEL: test6b:
785 ; LINUX-X64-NOT: callq __stack_chk_fail
786 ; LINUX-X64: .cfi_endproc
788 ; LINUX-KERNEL-X64-LABEL: test6b:
789 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
790 ; LINUX-KERNEL-X64: .cfi_endproc
792 ; DARWIN-X64-LABEL: test6b:
793 ; DARWIN-X64-NOT: callq ___stack_chk_fail
794 ; DARWIN-X64: .cfi_endproc
797 ; MSVC-I386-LABEL: test6b:
798 ; MSVC-I386-NOT: calll @__security_check_cookie@4
799 ; MSVC-I386: retl
811 ; test6c: Address-of local taken (j = &a)
817 ; LINUX-I386-LABEL: test6c:
818 ; LINUX-I386: mov{{l|q}} %gs:
819 ; LINUX-I386: calll __stack_chk_fail
821 ; LINUX-X64-LABEL: test6c:
822 ; LINUX-X64: mov{{l|q}} %fs:
823 ; LINUX-X64: callq __stack_chk_fail
825 ; LINUX-KERNEL-X64-LABEL: test6c:
826 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
827 ; LINUX-KERNEL-X64: callq __stack_chk_fail
829 ; DARWIN-X64-LABEL: test6c:
830 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
831 ; DARWIN-X64: callq ___stack_chk_fail
833 ; MSVC-I386-LABEL: test6c:
834 ; MSVC-I386: movl ___security_cookie,
835 ; MSVC-I386: calll @__security_check_cookie@4
847 ; test6d: Address-of local taken (j = &a)
853 ; LINUX-I386-LABEL: test6d:
854 ; LINUX-I386: mov{{l|q}} %gs:
855 ; LINUX-I386: calll __stack_chk_fail
857 ; LINUX-X64-LABEL: test6d:
858 ; LINUX-X64: mov{{l|q}} %fs:
859 ; LINUX-X64: callq __stack_chk_fail
861 ; LINUX-KERNEL-X64-LABEL: test6d:
862 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
863 ; LINUX-KERNEL-X64: callq __stack_chk_fail
865 ; DARWIN-X64-LABEL: test6d:
866 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
867 ; DARWIN-X64: callq ___stack_chk_fail
869 ; MSVC-I386-LABEL: test6d:
870 ; MSVC-I386: movl ___security_cookie,
871 ; MSVC-I386: calll @__security_check_cookie@4
888 ; LINUX-I386-LABEL: test7a:
889 ; LINUX-I386-NOT: calll __stack_chk_fail
890 ; LINUX-I386: .cfi_endproc
892 ; LINUX-X64-LABEL: test7a:
893 ; LINUX-X64-NOT: callq __stack_chk_fail
894 ; LINUX-X64: .cfi_endproc
896 ; LINUX-KERNEL-X64-LABEL: test7a:
897 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
898 ; LINUX-KERNEL-X64: .cfi_endproc
900 ; DARWIN-X64-LABEL: test7a:
901 ; DARWIN-X64-NOT: callq ___stack_chk_fail
902 ; DARWIN-X64: .cfi_endproc
904 ; MSVC-I386-LABEL: test7a:
905 ; MSVC-I386-NOT: calll @__security_check_cookie@4
906 ; MSVC-I386: retl
919 ; LINUX-I386-LABEL: test7b:
920 ; LINUX-I386-NOT: calll __stack_chk_fail
921 ; LINUX-I386: .cfi_endproc
923 ; LINUX-X64-LABEL: test7b:
924 ; LINUX-X64-NOT: callq __stack_chk_fail
925 ; LINUX-X64: .cfi_endproc
927 ; LINUX-KERNEL-X64-LABEL: test7b:
928 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
929 ; LINUX-KERNEL-X64: .cfi_endproc
931 ; DARWIN-X64-LABEL: test7b:
932 ; DARWIN-X64-NOT: callq ___stack_chk_fail
933 ; DARWIN-X64: .cfi_endproc
935 ; MSVC-I386-LABEL: test7b:
936 ; MSVC-I386-NOT: calll @__security_check_cookie@4
937 ; MSVC-I386: retl
950 ; LINUX-I386-LABEL: test7c:
951 ; LINUX-I386: mov{{l|q}} %gs:
952 ; LINUX-I386: calll __stack_chk_fail
954 ; LINUX-X64-LABEL: test7c:
955 ; LINUX-X64: mov{{l|q}} %fs:
956 ; LINUX-X64: callq __stack_chk_fail
958 ; LINUX-KERNEL-X64-LABEL: test7c:
959 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
960 ; LINUX-KERNEL-X64: callq __stack_chk_fail
962 ; DARWIN-X64-LABEL: test7c:
963 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
964 ; DARWIN-X64: callq ___stack_chk_fail
966 ; MSVC-I386-LABEL: test7c:
967 ; MSVC-I386: movl ___security_cookie,
968 ; MSVC-I386: calll @__security_check_cookie@4
981 ; LINUX-I386-LABEL: test7d:
982 ; LINUX-I386: mov{{l|q}} %gs:
983 ; LINUX-I386: calll __stack_chk_fail
985 ; LINUX-X64-LABEL: test7d:
986 ; LINUX-X64: mov{{l|q}} %fs:
987 ; LINUX-X64: callq __stack_chk_fail
989 ; LINUX-KERNEL-X64-LABEL: test7d:
990 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
991 ; LINUX-KERNEL-X64: callq __stack_chk_fail
993 ; DARWIN-X64-LABEL: test7d:
994 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
995 ; DARWIN-X64: callq ___stack_chk_fail
997 ; MSVC-I386-LABEL: test7d:
998 ; MSVC-I386: movl ___security_cookie,
999 ; MSVC-I386: calll @__security_check_cookie@4
1006 ; test8a: Passing addr-of to function call
1011 ; LINUX-I386-LABEL: test8a:
1012 ; LINUX-I386-NOT: calll __stack_chk_fail
1013 ; LINUX-I386: .cfi_endproc
1015 ; LINUX-X64-LABEL: test8a:
1016 ; LINUX-X64-NOT: callq __stack_chk_fail
1017 ; LINUX-X64: .cfi_endproc
1019 ; LINUX-KERNEL-X64-LABEL: test8a:
1020 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1021 ; LINUX-KERNEL-X64: .cfi_endproc
1023 ; DARWIN-X64-LABEL: test8a:
1024 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1025 ; DARWIN-X64: .cfi_endproc
1027 ; MSVC-I386-LABEL: test8a:
1028 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1029 ; MSVC-I386: retl
1035 ; test8b: Passing addr-of to function call
1041 ; LINUX-I386-LABEL: test8b:
1042 ; LINUX-I386-NOT: calll __stack_chk_fail
1043 ; LINUX-I386: .cfi_endproc
1045 ; LINUX-X64-LABEL: test8b:
1046 ; LINUX-X64-NOT: callq __stack_chk_fail
1047 ; LINUX-X64: .cfi_endproc
1049 ; LINUX-KERNEL-X64-LABEL: test8b:
1050 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1051 ; LINUX-KERNEL-X64: .cfi_endproc
1053 ; DARWIN-X64-LABEL: test8b:
1054 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1055 ; DARWIN-X64: .cfi_endproc
1057 ; MSVC-I386-LABEL: test8b:
1058 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1059 ; MSVC-I386: retl
1065 ; test8c: Passing addr-of to function call
1071 ; LINUX-I386-LABEL: test8c:
1072 ; LINUX-I386: mov{{l|q}} %gs:
1073 ; LINUX-I386: calll __stack_chk_fail
1075 ; LINUX-X64-LABEL: test8c:
1076 ; LINUX-X64: mov{{l|q}} %fs:
1077 ; LINUX-X64: callq __stack_chk_fail
1079 ; LINUX-KERNEL-X64-LABEL: test8c:
1080 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1081 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1083 ; DARWIN-X64-LABEL: test8c:
1084 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1085 ; DARWIN-X64: callq ___stack_chk_fail
1087 ; MSVC-I386-LABEL: test8c:
1088 ; MSVC-I386: movl ___security_cookie,
1089 ; MSVC-I386: calll @__security_check_cookie@4
1095 ; test8d: Passing addr-of to function call
1101 ; LINUX-I386-LABEL: test8d:
1102 ; LINUX-I386: mov{{l|q}} %gs:
1103 ; LINUX-I386: calll __stack_chk_fail
1105 ; LINUX-X64-LABEL: test8d:
1106 ; LINUX-X64: mov{{l|q}} %fs:
1107 ; LINUX-X64: callq __stack_chk_fail
1109 ; LINUX-KERNEL-X64-LABEL: test8d:
1110 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1111 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1113 ; DARWIN-X64-LABEL: test8d:
1114 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1115 ; DARWIN-X64: callq ___stack_chk_fail
1117 ; MSVC-I386-LABEL: test8d:
1118 ; MSVC-I386: movl ___security_cookie,
1119 ; MSVC-I386: calll @__security_check_cookie@4
1125 ; test9a: Addr-of in select instruction
1130 ; LINUX-I386-LABEL: test9a:
1131 ; LINUX-I386-NOT: calll __stack_chk_fail
1132 ; LINUX-I386: .cfi_endproc
1134 ; LINUX-X64-LABEL: test9a:
1135 ; LINUX-X64-NOT: callq __stack_chk_fail
1136 ; LINUX-X64: .cfi_endproc
1138 ; LINUX-KERNEL-X64-LABEL: test9a:
1139 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1140 ; LINUX-KERNEL-X64: .cfi_endproc
1142 ; DARWIN-X64-LABEL: test9a:
1143 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1144 ; DARWIN-X64: .cfi_endproc
1146 ; MSVC-I386-LABEL: test9a:
1147 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1148 ; MSVC-I386: retl
1158 ; test9b: Addr-of in select instruction
1164 ; LINUX-I386-LABEL: test9b:
1165 ; LINUX-I386-NOT: calll __stack_chk_fail
1166 ; LINUX-I386: .cfi_endproc
1168 ; LINUX-X64-LABEL: test9b:
1169 ; LINUX-X64-NOT: callq __stack_chk_fail
1170 ; LINUX-X64: .cfi_endproc
1172 ; LINUX-KERNEL-X64-LABEL: test9b:
1173 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1174 ; LINUX-KERNEL-X64: .cfi_endproc
1176 ; DARWIN-X64-LABEL: test9b:
1177 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1178 ; DARWIN-X64: .cfi_endproc
1180 ; MSVC-I386-LABEL: test9b:
1181 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1182 ; MSVC-I386: retl
1192 ; test9c: Addr-of in select instruction
1198 ; LINUX-I386-LABEL: test9c:
1199 ; LINUX-I386: mov{{l|q}} %gs:
1200 ; LINUX-I386: calll __stack_chk_fail
1202 ; LINUX-X64-LABEL: test9c:
1203 ; LINUX-X64: mov{{l|q}} %fs:
1204 ; LINUX-X64: callq __stack_chk_fail
1206 ; LINUX-KERNEL-X64-LABEL: test9c:
1207 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1208 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1210 ; DARWIN-X64-LABEL: test9c:
1211 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1212 ; DARWIN-X64: callq ___stack_chk_fail
1214 ; MSVC-I386-LABEL: test9c:
1215 ; MSVC-I386: movl ___security_cookie,
1216 ; MSVC-I386: calll @__security_check_cookie@4
1226 ; test9d: Addr-of in select instruction
1232 ; LINUX-I386-LABEL: test9d:
1233 ; LINUX-I386: mov{{l|q}} %gs:
1234 ; LINUX-I386: calll __stack_chk_fail
1236 ; LINUX-X64-LABEL: test9d:
1237 ; LINUX-X64: mov{{l|q}} %fs:
1238 ; LINUX-X64: callq __stack_chk_fail
1240 ; LINUX-KERNEL-X64-LABEL: test9d:
1241 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1242 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1244 ; DARWIN-X64-LABEL: test9d:
1245 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1246 ; DARWIN-X64: callq ___stack_chk_fail
1248 ; MSVC-I386-LABEL: test9d:
1249 ; MSVC-I386: movl ___security_cookie,
1250 ; MSVC-I386: calll @__security_check_cookie@4
1260 ; test10a: Addr-of in phi instruction
1265 ; LINUX-I386-LABEL: test10a:
1266 ; LINUX-I386-NOT: calll __stack_chk_fail
1267 ; LINUX-I386: .cfi_endproc
1269 ; LINUX-X64-LABEL: test10a:
1270 ; LINUX-X64-NOT: callq __stack_chk_fail
1271 ; LINUX-X64: .cfi_endproc
1273 ; LINUX-KERNEL-X64-LABEL: test10a:
1274 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1275 ; LINUX-KERNEL-X64: .cfi_endproc
1277 ; DARWIN-X64-LABEL: test10a:
1278 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1279 ; DARWIN-X64: .cfi_endproc
1281 ; MSVC-I386-LABEL: test10a:
1282 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1283 ; MSVC-I386: retl
1308 ; test10b: Addr-of in phi instruction
1314 ; LINUX-I386-LABEL: test10b:
1315 ; LINUX-I386-NOT: calll __stack_chk_fail
1316 ; LINUX-I386: .cfi_endproc
1318 ; LINUX-X64-LABEL: test10b:
1319 ; LINUX-X64-NOT: callq __stack_chk_fail
1320 ; LINUX-X64: .cfi_endproc
1322 ; LINUX-KERNEL-X64-LABEL: test10b:
1323 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1324 ; LINUX-KERNEL-X64: .cfi_endproc
1326 ; DARWIN-X64-LABEL: test10b:
1327 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1328 ; DARWIN-X64: .cfi_endproc
1330 ; MSVC-I386-LABEL: test10b:
1331 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1332 ; MSVC-I386: retl
1357 ; test10c: Addr-of in phi instruction
1363 ; LINUX-I386-LABEL: test10c:
1364 ; LINUX-I386: mov{{l|q}} %gs:
1365 ; LINUX-I386: calll __stack_chk_fail
1367 ; LINUX-X64-LABEL: test10c:
1368 ; LINUX-X64: mov{{l|q}} %fs:
1369 ; LINUX-X64: callq __stack_chk_fail
1371 ; LINUX-KERNEL-X64-LABEL: test10c:
1372 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1373 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1375 ; DARWIN-X64-LABEL: test10c:
1376 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1377 ; DARWIN-X64: callq ___stack_chk_fail
1379 ; MSVC-I386-LABEL: test10c:
1380 ; MSVC-I386: movl ___security_cookie,
1381 ; MSVC-I386: calll @__security_check_cookie@4
1406 ; test10d: Addr-of in phi instruction
1412 ; LINUX-I386-LABEL: test10d:
1413 ; LINUX-I386: mov{{l|q}} %gs:
1414 ; LINUX-I386: calll __stack_chk_fail
1416 ; LINUX-X64-LABEL: test10d:
1417 ; LINUX-X64: mov{{l|q}} %fs:
1418 ; LINUX-X64: callq __stack_chk_fail
1420 ; LINUX-KERNEL-X64-LABEL: test10d:
1421 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1422 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1424 ; DARWIN-X64-LABEL: test10d:
1425 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1426 ; DARWIN-X64: callq ___stack_chk_fail
1428 ; MSVC-I386-LABEL: test10d:
1429 ; MSVC-I386: movl ___security_cookie,
1430 ; MSVC-I386: calll @__security_check_cookie@4
1455 ; test11a: Addr-of struct element. (GEP followed by store).
1460 ; LINUX-I386-LABEL: test11a:
1461 ; LINUX-I386-NOT: calll __stack_chk_fail
1462 ; LINUX-I386: .cfi_endproc
1464 ; LINUX-X64-LABEL: test11a:
1465 ; LINUX-X64-NOT: callq __stack_chk_fail
1466 ; LINUX-X64: .cfi_endproc
1468 ; LINUX-KERNEL-X64-LABEL: test11a:
1469 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1470 ; LINUX-KERNEL-X64: .cfi_endproc
1472 ; DARWIN-X64-LABEL: test11a:
1473 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1474 ; DARWIN-X64: .cfi_endproc
1476 ; MSVC-I386-LABEL: test11a:
1477 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1478 ; MSVC-I386: retl
1488 ; test11b: Addr-of struct element. (GEP followed by store).
1494 ; LINUX-I386-LABEL: test11b:
1495 ; LINUX-I386-NOT: calll __stack_chk_fail
1496 ; LINUX-I386: .cfi_endproc
1498 ; LINUX-X64-LABEL: test11b:
1499 ; LINUX-X64-NOT: callq __stack_chk_fail
1500 ; LINUX-X64: .cfi_endproc
1502 ; LINUX-KERNEL-X64-LABEL: test11b:
1503 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1504 ; LINUX-KERNEL-X64: .cfi_endproc
1506 ; DARWIN-X64-LABEL: test11b:
1507 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1508 ; DARWIN-X64: .cfi_endproc
1510 ; MSVC-I386-LABEL: test11b:
1511 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1512 ; MSVC-I386: retl
1522 ; test11c: Addr-of struct element. (GEP followed by store).
1528 ; LINUX-I386-LABEL: test11c:
1529 ; LINUX-I386: mov{{l|q}} %gs:
1530 ; LINUX-I386: calll __stack_chk_fail
1532 ; LINUX-X64-LABEL: test11c:
1533 ; LINUX-X64: mov{{l|q}} %fs:
1534 ; LINUX-X64: callq __stack_chk_fail
1536 ; LINUX-KERNEL-X64-LABEL: test11c:
1537 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1538 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1540 ; DARWIN-X64-LABEL: test11c:
1541 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1542 ; DARWIN-X64: callq ___stack_chk_fail
1544 ; MSVC-I386-LABEL: test11c:
1545 ; MSVC-I386: movl ___security_cookie,
1546 ; MSVC-I386: calll @__security_check_cookie@4
1556 ; test11d: Addr-of struct element. (GEP followed by store).
1562 ; LINUX-I386-LABEL: test11d:
1563 ; LINUX-I386: mov{{l|q}} %gs:
1564 ; LINUX-I386: calll __stack_chk_fail
1566 ; LINUX-X64-LABEL: test11d:
1567 ; LINUX-X64: mov{{l|q}} %fs:
1568 ; LINUX-X64: callq __stack_chk_fail
1570 ; LINUX-KERNEL-X64-LABEL: test11d:
1571 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1572 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1574 ; DARWIN-X64-LABEL: test11d:
1575 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1576 ; DARWIN-X64: callq ___stack_chk_fail
1578 ; MSVC-I386-LABEL: test11d:
1579 ; MSVC-I386: movl ___security_cookie,
1580 ; MSVC-I386: calll @__security_check_cookie@4
1590 ; test12a: Addr-of struct element, GEP followed by ptrtoint.
1595 ; LINUX-I386-LABEL: test12a:
1596 ; LINUX-I386-NOT: calll __stack_chk_fail
1597 ; LINUX-I386: .cfi_endproc
1599 ; LINUX-X64-LABEL: test12a:
1600 ; LINUX-X64-NOT: callq __stack_chk_fail
1601 ; LINUX-X64: .cfi_endproc
1603 ; LINUX-KERNEL-X64-LABEL: test12a:
1604 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1605 ; LINUX-KERNEL-X64: .cfi_endproc
1607 ; DARWIN-X64-LABEL: test12a:
1608 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1609 ; DARWIN-X64: .cfi_endproc
1611 ; MSVC-I386-LABEL: test12a:
1612 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1613 ; MSVC-I386: retl
1622 ; test12b: Addr-of struct element, GEP followed by ptrtoint.
1628 ; LINUX-I386-LABEL: test12b:
1629 ; LINUX-I386-NOT: calll __stack_chk_fail
1630 ; LINUX-I386: .cfi_endproc
1632 ; LINUX-X64-LABEL: test12b:
1633 ; LINUX-X64-NOT: callq __stack_chk_fail
1634 ; LINUX-X64: .cfi_endproc
1636 ; LINUX-KERNEL-X64-LABEL: test12b:
1637 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1638 ; LINUX-KERNEL-X64: .cfi_endproc
1640 ; DARWIN-X64-LABEL: test12b:
1641 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1642 ; DARWIN-X64: .cfi_endproc
1644 ; MSVC-I386-LABEL: test12b:
1645 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1646 ; MSVC-I386: retl
1655 ; test12c: Addr-of struct element, GEP followed by ptrtoint.
1660 ; LINUX-I386-LABEL: test12c:
1661 ; LINUX-I386: mov{{l|q}} %gs:
1662 ; LINUX-I386: calll __stack_chk_fail
1664 ; LINUX-X64-LABEL: test12c:
1665 ; LINUX-X64: mov{{l|q}} %fs:
1666 ; LINUX-X64: callq __stack_chk_fail
1668 ; LINUX-KERNEL-X64-LABEL: test12c:
1669 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1670 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1672 ; DARWIN-X64-LABEL: test12c:
1673 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1674 ; DARWIN-X64: callq ___stack_chk_fail
1676 ; MSVC-I386-LABEL: test12c:
1677 ; MSVC-I386: movl ___security_cookie,
1678 ; MSVC-I386: calll @__security_check_cookie@4
1687 ; test12d: Addr-of struct element, GEP followed by ptrtoint.
1693 ; LINUX-I386-LABEL: test12d:
1694 ; LINUX-I386: mov{{l|q}} %gs:
1695 ; LINUX-I386: calll __stack_chk_fail
1697 ; LINUX-X64-LABEL: test12d:
1698 ; LINUX-X64: mov{{l|q}} %fs:
1699 ; LINUX-X64: callq __stack_chk_fail
1701 ; LINUX-KERNEL-X64-LABEL: test12d:
1702 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1703 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1705 ; DARWIN-X64-LABEL: test12d:
1706 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1707 ; DARWIN-X64: callq ___stack_chk_fail
1709 ; MSVC-I386-LABEL: test12d:
1710 ; MSVC-I386: movl ___security_cookie,
1711 ; MSVC-I386: calll @__security_check_cookie@4
1720 ; test13a: Addr-of struct element, GEP followed by callinst.
1725 ; LINUX-I386-LABEL: test13a:
1726 ; LINUX-I386-NOT: calll __stack_chk_fail
1727 ; LINUX-I386: .cfi_endproc
1729 ; LINUX-X64-LABEL: test13a:
1730 ; LINUX-X64-NOT: callq __stack_chk_fail
1731 ; LINUX-X64: .cfi_endproc
1733 ; LINUX-KERNEL-X64-LABEL: test13a:
1734 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1735 ; LINUX-KERNEL-X64: .cfi_endproc
1737 ; DARWIN-X64-LABEL: test13a:
1738 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1739 ; DARWIN-X64: .cfi_endproc
1741 ; MSVC-I386-LABEL: test13a:
1742 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1743 ; MSVC-I386: retl
1750 ; test13b: Addr-of struct element, GEP followed by callinst.
1756 ; LINUX-I386-LABEL: test13b:
1757 ; LINUX-I386-NOT: calll __stack_chk_fail
1758 ; LINUX-I386: .cfi_endproc
1760 ; LINUX-X64-LABEL: test13b:
1761 ; LINUX-X64-NOT: callq __stack_chk_fail
1762 ; LINUX-X64: .cfi_endproc
1764 ; LINUX-KERNEL-X64-LABEL: test13b:
1765 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1766 ; LINUX-KERNEL-X64: .cfi_endproc
1768 ; DARWIN-X64-LABEL: test13b:
1769 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1770 ; DARWIN-X64: .cfi_endproc
1772 ; MSVC-I386-LABEL: test13b:
1773 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1774 ; MSVC-I386: retl
1781 ; test13c: Addr-of struct element, GEP followed by callinst.
1787 ; LINUX-I386-LABEL: test13c:
1788 ; LINUX-I386: mov{{l|q}} %gs:
1789 ; LINUX-I386: calll __stack_chk_fail
1791 ; LINUX-X64-LABEL: test13c:
1792 ; LINUX-X64: mov{{l|q}} %fs:
1793 ; LINUX-X64: callq __stack_chk_fail
1795 ; LINUX-KERNEL-X64-LABEL: test13c:
1796 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1797 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1799 ; DARWIN-X64-LABEL: test13c:
1800 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1801 ; DARWIN-X64: callq ___stack_chk_fail
1803 ; MSVC-I386-LABEL: test13c:
1804 ; MSVC-I386: movl ___security_cookie,
1805 ; MSVC-I386: calll @__security_check_cookie@4
1812 ; test13d: Addr-of struct element, GEP followed by callinst.
1818 ; LINUX-I386-LABEL: test13d:
1819 ; LINUX-I386: mov{{l|q}} %gs:
1820 ; LINUX-I386: calll __stack_chk_fail
1822 ; LINUX-X64-LABEL: test13d:
1823 ; LINUX-X64: mov{{l|q}} %fs:
1824 ; LINUX-X64: callq __stack_chk_fail
1826 ; LINUX-KERNEL-X64-LABEL: test13d:
1827 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1828 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1830 ; DARWIN-X64-LABEL: test13d:
1831 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1832 ; DARWIN-X64: callq ___stack_chk_fail
1834 ; MSVC-I386-LABEL: test13d:
1835 ; MSVC-I386: movl ___security_cookie,
1836 ; MSVC-I386: calll @__security_check_cookie@4
1843 ; test14a: Addr-of a local, optimized into a GEP (e.g., &a - 12)
1848 ; LINUX-I386-LABEL: test14a:
1849 ; LINUX-I386-NOT: calll __stack_chk_fail
1850 ; LINUX-I386: .cfi_endproc
1852 ; LINUX-X64-LABEL: test14a:
1853 ; LINUX-X64-NOT: callq __stack_chk_fail
1854 ; LINUX-X64: .cfi_endproc
1856 ; LINUX-KERNEL-X64-LABEL: test14a:
1857 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1858 ; LINUX-KERNEL-X64: .cfi_endproc
1860 ; DARWIN-X64-LABEL: test14a:
1861 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1862 ; DARWIN-X64: .cfi_endproc
1864 ; MSVC-I386-LABEL: test14a:
1865 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1866 ; MSVC-I386: retl
1868 %add.ptr5 = getelementptr inbounds i32, i32* %a, i64 -12
1873 ; test14b: Addr-of a local, optimized into a GEP (e.g., &a - 12)
1879 ; LINUX-I386-LABEL: test14b:
1880 ; LINUX-I386-NOT: calll __stack_chk_fail
1881 ; LINUX-I386: .cfi_endproc
1883 ; LINUX-X64-LABEL: test14b:
1884 ; LINUX-X64-NOT: callq __stack_chk_fail
1885 ; LINUX-X64: .cfi_endproc
1887 ; LINUX-KERNEL-X64-LABEL: test14b:
1888 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1889 ; LINUX-KERNEL-X64: .cfi_endproc
1891 ; DARWIN-X64-LABEL: test14b:
1892 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1893 ; DARWIN-X64: .cfi_endproc
1895 ; MSVC-I386-LABEL: test14b:
1896 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1897 ; MSVC-I386: retl
1899 %add.ptr5 = getelementptr inbounds i32, i32* %a, i64 -12
1904 ; test14c: Addr-of a local, optimized into a GEP (e.g., &a - 12)
1910 ; LINUX-I386-LABEL: test14c:
1911 ; LINUX-I386: mov{{l|q}} %gs:
1912 ; LINUX-I386: calll __stack_chk_fail
1914 ; LINUX-X64-LABEL: test14c:
1915 ; LINUX-X64: mov{{l|q}} %fs:
1916 ; LINUX-X64: callq __stack_chk_fail
1918 ; LINUX-KERNEL-X64-LABEL: test14c:
1919 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1920 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1922 ; DARWIN-X64-LABEL: test14c:
1923 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1924 ; DARWIN-X64: callq ___stack_chk_fail
1926 ; MSVC-I386-LABEL: test14c:
1927 ; MSVC-I386: movl ___security_cookie,
1928 ; MSVC-I386: calll @__security_check_cookie@4
1930 %add.ptr5 = getelementptr inbounds i32, i32* %a, i64 -12
1935 ; test14d: Addr-of a local, optimized into a GEP (e.g., &a - 12)
1941 ; LINUX-I386-LABEL: test14d:
1942 ; LINUX-I386: mov{{l|q}} %gs:
1943 ; LINUX-I386: calll __stack_chk_fail
1945 ; LINUX-X64-LABEL: test14d:
1946 ; LINUX-X64: mov{{l|q}} %fs:
1947 ; LINUX-X64: callq __stack_chk_fail
1949 ; LINUX-KERNEL-X64-LABEL: test14d:
1950 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
1951 ; LINUX-KERNEL-X64: callq __stack_chk_fail
1953 ; DARWIN-X64-LABEL: test14d:
1954 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
1955 ; DARWIN-X64: callq ___stack_chk_fail
1957 ; MSVC-I386-LABEL: test14d:
1958 ; MSVC-I386: movl ___security_cookie,
1959 ; MSVC-I386: calll @__security_check_cookie@4
1961 %add.ptr5 = getelementptr inbounds i32, i32* %a, i64 -12
1966 ; test15a: Addr-of a local cast to a ptr of a different type
1972 ; LINUX-I386-LABEL: test15a:
1973 ; LINUX-I386-NOT: calll __stack_chk_fail
1974 ; LINUX-I386: .cfi_endproc
1976 ; LINUX-X64-LABEL: test15a:
1977 ; LINUX-X64-NOT: callq __stack_chk_fail
1978 ; LINUX-X64: .cfi_endproc
1980 ; LINUX-KERNEL-X64-LABEL: test15a:
1981 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
1982 ; LINUX-KERNEL-X64: .cfi_endproc
1984 ; DARWIN-X64-LABEL: test15a:
1985 ; DARWIN-X64-NOT: callq ___stack_chk_fail
1986 ; DARWIN-X64: .cfi_endproc
1988 ; MSVC-I386-LABEL: test15a:
1989 ; MSVC-I386-NOT: calll @__security_check_cookie@4
1990 ; MSVC-I386: retl
2001 ; test15b: Addr-of a local cast to a ptr of a different type
2008 ; LINUX-I386-LABEL: test15b:
2009 ; LINUX-I386-NOT: calll __stack_chk_fail
2010 ; LINUX-I386: .cfi_endproc
2012 ; LINUX-X64-LABEL: test15b:
2013 ; LINUX-X64-NOT: callq __stack_chk_fail
2014 ; LINUX-X64: .cfi_endproc
2016 ; LINUX-KERNEL-X64-LABEL: test15b:
2017 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2018 ; LINUX-KERNEL-X64: .cfi_endproc
2020 ; DARWIN-X64-LABEL: test15b:
2021 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2022 ; DARWIN-X64: .cfi_endproc
2024 ; MSVC-I386-LABEL: test15b:
2025 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2026 ; MSVC-I386: retl
2037 ; test15c: Addr-of a local cast to a ptr of a different type
2044 ; LINUX-I386-LABEL: test15c:
2045 ; LINUX-I386: mov{{l|q}} %gs:
2046 ; LINUX-I386: calll __stack_chk_fail
2048 ; LINUX-X64-LABEL: test15c:
2049 ; LINUX-X64: mov{{l|q}} %fs:
2050 ; LINUX-X64: callq __stack_chk_fail
2052 ; LINUX-KERNEL-X64-LABEL: test15c:
2053 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2054 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2056 ; DARWIN-X64-LABEL: test15c:
2057 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2058 ; DARWIN-X64: callq ___stack_chk_fail
2060 ; MSVC-I386-LABEL: test15c:
2061 ; MSVC-I386: movl ___security_cookie,
2062 ; MSVC-I386: calll @__security_check_cookie@4
2073 ; test15d: Addr-of a local cast to a ptr of a different type
2080 ; LINUX-I386-LABEL: test15d:
2081 ; LINUX-I386: mov{{l|q}} %gs:
2082 ; LINUX-I386: calll __stack_chk_fail
2084 ; LINUX-X64-LABEL: test15d:
2085 ; LINUX-X64: mov{{l|q}} %fs:
2086 ; LINUX-X64: callq __stack_chk_fail
2088 ; LINUX-KERNEL-X64-LABEL: test15d:
2089 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2090 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2092 ; DARWIN-X64-LABEL: test15d:
2093 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2094 ; DARWIN-X64: callq ___stack_chk_fail
2096 ; MSVC-I386-LABEL: test15d:
2097 ; MSVC-I386: movl ___security_cookie,
2098 ; MSVC-I386: calll @__security_check_cookie@4
2109 ; test16a: Addr-of a local cast to a ptr of a different type (optimized)
2115 ; LINUX-I386-LABEL: test16a:
2116 ; LINUX-I386-NOT: calll __stack_chk_fail
2117 ; LINUX-I386: .cfi_endproc
2119 ; LINUX-X64-LABEL: test16a:
2120 ; LINUX-X64-NOT: callq __stack_chk_fail
2121 ; LINUX-X64: .cfi_endproc
2123 ; LINUX-KERNEL-X64-LABEL: test16a:
2124 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2125 ; LINUX-KERNEL-X64: .cfi_endproc
2127 ; DARWIN-X64-LABEL: test16a:
2128 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2129 ; DARWIN-X64: .cfi_endproc
2131 ; MSVC-I386-LABEL: test16a:
2132 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2133 ; MSVC-I386: retl
2141 ; test16b: Addr-of a local cast to a ptr of a different type (optimized)
2148 ; LINUX-I386-LABEL: test16b:
2149 ; LINUX-I386-NOT: calll __stack_chk_fail
2150 ; LINUX-I386: .cfi_endproc
2152 ; LINUX-X64-LABEL: test16b:
2153 ; LINUX-X64-NOT: callq __stack_chk_fail
2154 ; LINUX-X64: .cfi_endproc
2156 ; LINUX-KERNEL-X64-LABEL: test16b:
2157 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2158 ; LINUX-KERNEL-X64: .cfi_endproc
2160 ; DARWIN-X64-LABEL: test16b:
2161 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2162 ; DARWIN-X64: .cfi_endproc
2164 ; MSVC-I386-LABEL: test16b:
2165 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2166 ; MSVC-I386: retl
2174 ; test16c: Addr-of a local cast to a ptr of a different type (optimized)
2181 ; LINUX-I386-LABEL: test16c:
2182 ; LINUX-I386: mov{{l|q}} %gs:
2183 ; LINUX-I386: calll __stack_chk_fail
2185 ; LINUX-X64-LABEL: test16c:
2186 ; LINUX-X64: mov{{l|q}} %fs:
2187 ; LINUX-X64: callq __stack_chk_fail
2189 ; LINUX-KERNEL-X64-LABEL: test16c:
2190 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2191 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2193 ; DARWIN-X64-LABEL: test16c:
2194 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2195 ; DARWIN-X64: callq ___stack_chk_fail
2197 ; MSVC-I386-LABEL: test16c:
2198 ; MSVC-I386: movl ___security_cookie,
2199 ; MSVC-I386: calll @__security_check_cookie@4
2207 ; test16d: Addr-of a local cast to a ptr of a different type (optimized)
2214 ; LINUX-I386-LABEL: test16d:
2215 ; LINUX-I386: mov{{l|q}} %gs:
2216 ; LINUX-I386: calll __stack_chk_fail
2218 ; LINUX-X64-LABEL: test16d:
2219 ; LINUX-X64: mov{{l|q}} %fs:
2220 ; LINUX-X64: callq __stack_chk_fail
2222 ; LINUX-KERNEL-X64-LABEL: test16d:
2223 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2224 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2226 ; DARWIN-X64-LABEL: test16d:
2227 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2228 ; DARWIN-X64: callq ___stack_chk_fail
2230 ; MSVC-I386-LABEL: test16d:
2231 ; MSVC-I386: movl ___security_cookie,
2232 ; MSVC-I386: calll @__security_check_cookie@4
2240 ; test17a: Addr-of a vector nested in a struct
2245 ; LINUX-I386-LABEL: test17a:
2246 ; LINUX-I386-NOT: calll __stack_chk_fail
2247 ; LINUX-I386: .cfi_endproc
2249 ; LINUX-X64-LABEL: test17a:
2250 ; LINUX-X64-NOT: callq __stack_chk_fail
2251 ; LINUX-X64: .cfi_endproc
2253 ; LINUX-KERNEL-X64-LABEL: test17a:
2254 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2255 ; LINUX-KERNEL-X64: .cfi_endproc
2257 ; DARWIN-X64-LABEL: test17a:
2258 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2259 ; DARWIN-X64: .cfi_endproc
2261 ; MSVC-I386-LABEL: test17a:
2262 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2263 ; MSVC-I386: retl
2266 %add.ptr = getelementptr inbounds <4 x i32>, <4 x i32>* %y, i64 -12
2271 ; test17b: Addr-of a vector nested in a struct
2277 ; LINUX-I386-LABEL: test17b:
2278 ; LINUX-I386-NOT: calll __stack_chk_fail
2279 ; LINUX-I386: .cfi_endproc
2281 ; LINUX-X64-LABEL: test17b:
2282 ; LINUX-X64-NOT: callq __stack_chk_fail
2283 ; LINUX-X64: .cfi_endproc
2285 ; LINUX-KERNEL-X64-LABEL: test17b:
2286 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2287 ; LINUX-KERNEL-X64: .cfi_endproc
2289 ; DARWIN-X64-LABEL: test17b:
2290 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2291 ; DARWIN-X64: .cfi_endproc
2293 ; MSVC-I386-LABEL: test17b:
2294 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2295 ; MSVC-I386: retl
2298 %add.ptr = getelementptr inbounds <4 x i32>, <4 x i32>* %y, i64 -12
2303 ; test17c: Addr-of a vector nested in a struct
2309 ; LINUX-I386-LABEL: test17c:
2310 ; LINUX-I386: mov{{l|q}} %gs:
2311 ; LINUX-I386: calll __stack_chk_fail
2313 ; LINUX-X64-LABEL: test17c:
2314 ; LINUX-X64: mov{{l|q}} %fs:
2315 ; LINUX-X64: callq __stack_chk_fail
2317 ; LINUX-KERNEL-X64-LABEL: test17c:
2318 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2319 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2321 ; DARWIN-X64-LABEL: test17c:
2322 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2323 ; DARWIN-X64: callq ___stack_chk_fail
2325 ; MSVC-I386-LABEL: test17c:
2326 ; MSVC-I386: movl ___security_cookie,
2327 ; MSVC-I386: calll @__security_check_cookie@4
2330 %add.ptr = getelementptr inbounds <4 x i32>, <4 x i32>* %y, i64 -12
2335 ; test17d: Addr-of a vector nested in a struct
2341 ; LINUX-I386-LABEL: test17d:
2342 ; LINUX-I386: mov{{l|q}} %gs:
2343 ; LINUX-I386: calll __stack_chk_fail
2345 ; LINUX-X64-LABEL: test17d:
2346 ; LINUX-X64: mov{{l|q}} %fs:
2347 ; LINUX-X64: callq __stack_chk_fail
2349 ; LINUX-KERNEL-X64-LABEL: test17d:
2350 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2351 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2353 ; DARWIN-X64-LABEL: test17d:
2354 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2355 ; DARWIN-X64: callq ___stack_chk_fail
2357 ; MSVC-I386-LABEL: test17d:
2358 ; MSVC-I386: movl ___security_cookie,
2359 ; MSVC-I386: calll @__security_check_cookie@4
2362 %add.ptr = getelementptr inbounds <4 x i32>, <4 x i32>* %y, i64 -12
2367 ; test18a: Addr-of a variable passed into an invoke instruction.
2372 ; LINUX-I386-LABEL: test18a:
2373 ; LINUX-I386-NOT: calll __stack_chk_fail
2374 ; LINUX-I386: .cfi_endproc
2376 ; LINUX-X64-LABEL: test18a:
2377 ; LINUX-X64-NOT: callq __stack_chk_fail
2378 ; LINUX-X64: .cfi_endproc
2380 ; LINUX-KERNEL-X64-LABEL: test18a:
2381 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2382 ; LINUX-KERNEL-X64: .cfi_endproc
2384 ; DARWIN-X64-LABEL: test18a:
2385 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2386 ; DARWIN-X64: .cfi_endproc
2388 ; MSVC-I386-LABEL: test18a:
2389 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2390 ; MSVC-I386: retl
2407 ; test18b: Addr-of a variable passed into an invoke instruction.
2413 ; LINUX-I386-LABEL: test18b:
2414 ; LINUX-I386-NOT: calll __stack_chk_fail
2415 ; LINUX-I386: .cfi_endproc
2417 ; LINUX-X64-LABEL: test18b:
2418 ; LINUX-X64-NOT: callq __stack_chk_fail
2419 ; LINUX-X64: .cfi_endproc
2421 ; LINUX-KERNEL-X64-LABEL: test18b:
2422 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2423 ; LINUX-KERNEL-X64: .cfi_endproc
2425 ; DARWIN-X64-LABEL: test18b:
2426 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2427 ; DARWIN-X64: .cfi_endproc
2429 ; MSVC-I386-LABEL: test18b:
2430 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2431 ; MSVC-I386: retl
2448 ; test18c: Addr-of a variable passed into an invoke instruction.
2454 ; LINUX-I386-LABEL: test18c:
2455 ; LINUX-I386: mov{{l|q}} %gs:
2456 ; LINUX-I386: calll __stack_chk_fail
2458 ; LINUX-X64-LABEL: test18c:
2459 ; LINUX-X64: mov{{l|q}} %fs:
2460 ; LINUX-X64: callq __stack_chk_fail
2462 ; LINUX-KERNEL-X64-LABEL: test18c:
2463 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2464 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2466 ; DARWIN-X64-LABEL: test18c:
2467 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2468 ; DARWIN-X64: callq ___stack_chk_fail
2470 ; MSVC-I386-LABEL: test18c:
2471 ; MSVC-I386: movl ___security_cookie,
2472 ; MSVC-I386: calll @__security_check_cookie@4
2489 ; test18d: Addr-of a variable passed into an invoke instruction.
2495 ; LINUX-I386-LABEL: test18d:
2496 ; LINUX-I386: mov{{l|q}} %gs:
2497 ; LINUX-I386: calll __stack_chk_fail
2499 ; LINUX-X64-LABEL: test18d:
2500 ; LINUX-X64: mov{{l|q}} %fs:
2501 ; LINUX-X64: callq __stack_chk_fail
2503 ; LINUX-KERNEL-X64-LABEL: test18d:
2504 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2505 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2507 ; DARWIN-X64-LABEL: test18d:
2508 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2509 ; DARWIN-X64: callq ___stack_chk_fail
2511 ; MSVC-I386-LABEL: test18d:
2512 ; MSVC-I386: movl ___security_cookie,
2513 ; MSVC-I386: calll @__security_check_cookie@4
2529 ; test19a: Addr-of a struct element passed into an invoke instruction.
2535 ; LINUX-I386-LABEL: test19a:
2536 ; LINUX-I386-NOT: calll __stack_chk_fail
2537 ; LINUX-I386: .cfi_endproc
2539 ; LINUX-X64-LABEL: test19a:
2540 ; LINUX-X64-NOT: callq __stack_chk_fail
2541 ; LINUX-X64: .cfi_endproc
2543 ; LINUX-KERNEL-X64-LABEL: test19a:
2544 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2545 ; LINUX-KERNEL-X64: .cfi_endproc
2547 ; DARWIN-X64-LABEL: test19a:
2548 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2549 ; DARWIN-X64: .cfi_endproc
2551 ; MSVC-I386-LABEL: test19a:
2552 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2553 ; MSVC-I386: retl
2572 ; test19b: Addr-of a struct element passed into an invoke instruction.
2579 ; LINUX-I386-LABEL: test19b:
2580 ; LINUX-I386-NOT: calll __stack_chk_fail
2581 ; LINUX-I386: .cfi_endproc
2583 ; LINUX-X64-LABEL: test19b:
2584 ; LINUX-X64-NOT: callq __stack_chk_fail
2585 ; LINUX-X64: .cfi_endproc
2587 ; LINUX-KERNEL-X64-LABEL: test19b:
2588 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2589 ; LINUX-KERNEL-X64: .cfi_endproc
2591 ; DARWIN-X64-LABEL: test19b:
2592 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2593 ; DARWIN-X64: .cfi_endproc
2595 ; MSVC-I386-LABEL: test19b:
2596 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2597 ; MSVC-I386: retl
2616 ; test19c: Addr-of a struct element passed into an invoke instruction.
2623 ; LINUX-I386-LABEL: test19c:
2624 ; LINUX-I386: mov{{l|q}} %gs:
2625 ; LINUX-I386: calll __stack_chk_fail
2627 ; LINUX-X64-LABEL: test19c:
2628 ; LINUX-X64: mov{{l|q}} %fs:
2629 ; LINUX-X64: callq __stack_chk_fail
2631 ; LINUX-KERNEL-X64-LABEL: test19c:
2632 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2633 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2635 ; DARWIN-X64-LABEL: test19c:
2636 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2637 ; DARWIN-X64: callq ___stack_chk_fail
2639 ; MSVC-I386-LABEL: test19c:
2640 ; MSVC-I386: movl ___security_cookie,
2641 ; MSVC-I386: calll @__security_check_cookie@4
2660 ; test19d: Addr-of a struct element passed into an invoke instruction.
2667 ; LINUX-I386-LABEL: test19d:
2668 ; LINUX-I386: mov{{l|q}} %gs:
2669 ; LINUX-I386: calll __stack_chk_fail
2670 ; LINUX-I386-NOT: calll __stack_chk_fail
2672 ; LINUX-X64-LABEL: test19d:
2673 ; LINUX-X64: mov{{l|q}} %fs:
2674 ; LINUX-X64: callq __stack_chk_fail
2675 ; LINUX-X64-NOT: callq __stack_chk_fail
2677 ; LINUX-KERNEL-X64-LABEL: test19d:
2678 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2679 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2680 ; LINUX-KERNEL-X64-NOT: callq ___stack_chk_fail
2682 ; DARWIN-X64-LABEL: test19d:
2683 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2684 ; DARWIN-X64: callq ___stack_chk_fail
2685 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2687 ; MSVC-I386-LABEL: test19d:
2688 ; MSVC-I386: movl ___security_cookie,
2689 ; MSVC-I386: calll @__security_check_cookie@4
2708 ; test20a: Addr-of a pointer
2713 ; LINUX-I386-LABEL: test20a:
2714 ; LINUX-I386-NOT: calll __stack_chk_fail
2715 ; LINUX-I386: .cfi_endproc
2717 ; LINUX-X64-LABEL: test20a:
2718 ; LINUX-X64-NOT: callq __stack_chk_fail
2719 ; LINUX-X64: .cfi_endproc
2721 ; LINUX-KERNEL-X64-LABEL: test20a:
2722 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2723 ; LINUX-KERNEL-X64: .cfi_endproc
2725 ; DARWIN-X64-LABEL: test20a:
2726 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2727 ; DARWIN-X64: .cfi_endproc
2729 ; MSVC-I386-LABEL: test20a:
2730 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2731 ; MSVC-I386: retl
2742 ; test20b: Addr-of a pointer
2748 ; LINUX-I386-LABEL: test20b:
2749 ; LINUX-I386-NOT: calll __stack_chk_fail
2750 ; LINUX-I386: .cfi_endproc
2752 ; LINUX-X64-LABEL: test20b:
2753 ; LINUX-X64-NOT: callq __stack_chk_fail
2754 ; LINUX-X64: .cfi_endproc
2756 ; LINUX-KERNEL-X64-LABEL: test20b:
2757 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2758 ; LINUX-KERNEL-X64: .cfi_endproc
2760 ; DARWIN-X64-LABEL: test20b:
2761 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2762 ; DARWIN-X64: .cfi_endproc
2764 ; MSVC-I386-LABEL: test20b:
2765 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2766 ; MSVC-I386: retl
2777 ; test20c: Addr-of a pointer
2783 ; LINUX-I386-LABEL: test20c:
2784 ; LINUX-I386: mov{{l|q}} %gs:
2785 ; LINUX-I386: calll __stack_chk_fail
2787 ; LINUX-X64-LABEL: test20c:
2788 ; LINUX-X64: mov{{l|q}} %fs:
2789 ; LINUX-X64: callq __stack_chk_fail
2791 ; LINUX-KERNEL-X64-LABEL: test20c:
2792 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2793 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2795 ; DARWIN-X64-LABEL: test20c:
2796 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2797 ; DARWIN-X64: callq ___stack_chk_fail
2799 ; MSVC-I386-LABEL: test20c:
2800 ; MSVC-I386: movl ___security_cookie,
2801 ; MSVC-I386: calll @__security_check_cookie@4
2812 ; test20d: Addr-of a pointer
2818 ; LINUX-I386-LABEL: test20d:
2819 ; LINUX-I386: mov{{l|q}} %gs:
2820 ; LINUX-I386: calll __stack_chk_fail
2822 ; LINUX-X64-LABEL: test20d:
2823 ; LINUX-X64: mov{{l|q}} %fs:
2824 ; LINUX-X64: callq __stack_chk_fail
2826 ; LINUX-KERNEL-X64-LABEL: test20d:
2827 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2828 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2830 ; DARWIN-X64-LABEL: test20d:
2831 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2832 ; DARWIN-X64: callq ___stack_chk_fail
2834 ; MSVC-I386-LABEL: test20d:
2835 ; MSVC-I386: movl ___security_cookie,
2836 ; MSVC-I386: calll @__security_check_cookie@4
2847 ; test21a: Addr-of a casted pointer
2852 ; LINUX-I386-LABEL: test21a:
2853 ; LINUX-I386-NOT: calll __stack_chk_fail
2854 ; LINUX-I386: .cfi_endproc
2856 ; LINUX-X64-LABEL: test21a:
2857 ; LINUX-X64-NOT: callq __stack_chk_fail
2858 ; LINUX-X64: .cfi_endproc
2860 ; LINUX-KERNEL-X64-LABEL: test21a:
2861 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2862 ; LINUX-KERNEL-X64: .cfi_endproc
2864 ; DARWIN-X64-LABEL: test21a:
2865 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2866 ; DARWIN-X64: .cfi_endproc
2868 ; MSVC-I386-LABEL: test21a:
2869 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2870 ; MSVC-I386: retl
2882 ; test21b: Addr-of a casted pointer
2888 ; LINUX-I386-LABEL: test21b:
2889 ; LINUX-I386-NOT: calll __stack_chk_fail
2890 ; LINUX-I386: .cfi_endproc
2892 ; LINUX-X64-LABEL: test21b:
2893 ; LINUX-X64-NOT: callq __stack_chk_fail
2894 ; LINUX-X64: .cfi_endproc
2896 ; LINUX-KERNEL-X64-LABEL: test21b:
2897 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
2898 ; LINUX-KERNEL-X64: .cfi_endproc
2900 ; DARWIN-X64-LABEL: test21b:
2901 ; DARWIN-X64-NOT: callq ___stack_chk_fail
2902 ; DARWIN-X64: .cfi_endproc
2904 ; MSVC-I386-LABEL: test21b:
2905 ; MSVC-I386-NOT: calll @__security_check_cookie@4
2906 ; MSVC-I386: retl
2918 ; test21c: Addr-of a casted pointer
2924 ; LINUX-I386-LABEL: test21c:
2925 ; LINUX-I386: mov{{l|q}} %gs:
2926 ; LINUX-I386: calll __stack_chk_fail
2928 ; LINUX-X64-LABEL: test21c:
2929 ; LINUX-X64: mov{{l|q}} %fs:
2930 ; LINUX-X64: callq __stack_chk_fail
2932 ; LINUX-KERNEL-X64-LABEL: test21c:
2933 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2934 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2936 ; DARWIN-X64-LABEL: test21c:
2937 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2938 ; DARWIN-X64: callq ___stack_chk_fail
2940 ; MSVC-I386-LABEL: test21c:
2941 ; MSVC-I386: movl ___security_cookie,
2942 ; MSVC-I386: calll @__security_check_cookie@4
2954 ; test21d: Addr-of a casted pointer
2960 ; LINUX-I386-LABEL: test21d:
2961 ; LINUX-I386: mov{{l|q}} %gs:
2962 ; LINUX-I386: calll __stack_chk_fail
2964 ; LINUX-X64-LABEL: test21d:
2965 ; LINUX-X64: mov{{l|q}} %fs:
2966 ; LINUX-X64: callq __stack_chk_fail
2968 ; LINUX-KERNEL-X64-LABEL: test21d:
2969 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
2970 ; LINUX-KERNEL-X64: callq __stack_chk_fail
2972 ; DARWIN-X64-LABEL: test21d:
2973 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
2974 ; DARWIN-X64: callq ___stack_chk_fail
2976 ; MSVC-I386-LABEL: test21d:
2977 ; MSVC-I386: movl ___security_cookie,
2978 ; MSVC-I386: calll @__security_check_cookie@4
2995 ; LINUX-I386-LABEL: test22a:
2996 ; LINUX-I386-NOT: calll __stack_chk_fail
2997 ; LINUX-I386: .cfi_endproc
2999 ; LINUX-X64-LABEL: test22a:
3000 ; LINUX-X64-NOT: callq __stack_chk_fail
3001 ; LINUX-X64: .cfi_endproc
3003 ; LINUX-KERNEL-X64-LABEL: test22a:
3004 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3005 ; LINUX-KERNEL-X64: .cfi_endproc
3007 ; DARWIN-X64-LABEL: test22a:
3008 ; DARWIN-X64-NOT: callq ___stack_chk_fail
3009 ; DARWIN-X64: .cfi_endproc
3011 ; MSVC-I386-LABEL: test22a:
3012 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3013 ; MSVC-I386: retl
3027 ; LINUX-I386-LABEL: test22b:
3028 ; LINUX-I386-NOT: calll __stack_chk_fail
3029 ; LINUX-I386: .cfi_endproc
3031 ; LINUX-X64-LABEL: test22b:
3032 ; LINUX-X64-NOT: callq __stack_chk_fail
3033 ; LINUX-X64: .cfi_endproc
3035 ; LINUX-KERNEL-X64-LABEL: test22b:
3036 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3037 ; LINUX-KERNEL-X64: .cfi_endproc
3039 ; DARWIN-X64-LABEL: test22b:
3040 ; DARWIN-X64-NOT: callq ___stack_chk_fail
3041 ; DARWIN-X64: .cfi_endproc
3043 ; MSVC-I386-LABEL: test22b:
3044 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3045 ; MSVC-I386: retl
3059 ; LINUX-I386-LABEL: test22c:
3060 ; LINUX-I386: mov{{l|q}} %gs:
3061 ; LINUX-I386: calll __stack_chk_fail
3063 ; LINUX-X64-LABEL: test22c:
3064 ; LINUX-X64: mov{{l|q}} %fs:
3065 ; LINUX-X64: callq __stack_chk_fail
3067 ; LINUX-KERNEL-X64-LABEL: test22c:
3068 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3069 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3071 ; DARWIN-X64-LABEL: test22c:
3072 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3073 ; DARWIN-X64: callq ___stack_chk_fail
3075 ; MSVC-I386-LABEL: test22c:
3076 ; MSVC-I386: movl ___security_cookie,
3077 ; MSVC-I386: calll @__security_check_cookie@4
3091 ; LINUX-I386-LABEL: test22d:
3092 ; LINUX-I386: mov{{l|q}} %gs:
3093 ; LINUX-I386: calll __stack_chk_fail
3095 ; LINUX-X64-LABEL: test22d:
3096 ; LINUX-X64: mov{{l|q}} %fs:
3097 ; LINUX-X64: callq __stack_chk_fail
3099 ; LINUX-KERNEL-X64-LABEL: test22d:
3100 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3101 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3103 ; DARWIN-X64-LABEL: test22d:
3104 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3105 ; DARWIN-X64: callq ___stack_chk_fail
3107 ; MSVC-I386-LABEL: test22d:
3108 ; MSVC-I386: movl ___security_cookie,
3109 ; MSVC-I386: calll @__security_check_cookie@4
3122 ; LINUX-I386-LABEL: test23a:
3123 ; LINUX-I386-NOT: calll __stack_chk_fail
3124 ; LINUX-I386: .cfi_endproc
3126 ; LINUX-X64-LABEL: test23a:
3127 ; LINUX-X64-NOT: callq __stack_chk_fail
3128 ; LINUX-X64: .cfi_endproc
3130 ; LINUX-KERNEL-X64-LABEL: test23a:
3131 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3132 ; LINUX-KERNEL-X64: .cfi_endproc
3134 ; DARWIN-X64-LABEL: test23a:
3135 ; DARWIN-X64-NOT: callq ___stack_chk_fail
3136 ; DARWIN-X64: .cfi_endproc
3138 ; MSVC-I386-LABEL: test23a:
3139 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3140 ; MSVC-I386: retl
3158 ; LINUX-I386-LABEL: test23b:
3159 ; LINUX-I386-NOT: calll __stack_chk_fail
3160 ; LINUX-I386: .cfi_endproc
3162 ; LINUX-X64-LABEL: test23b:
3163 ; LINUX-X64-NOT: callq __stack_chk_fail
3164 ; LINUX-X64: .cfi_endproc
3166 ; LINUX-KERNEL-X64-LABEL: test23b:
3167 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3168 ; LINUX-KERNEL-X64: .cfi_endproc
3170 ; DARWIN-X64-LABEL: test23b:
3171 ; DARWIN-X64-NOT: callq ___stack_chk_fail
3172 ; DARWIN-X64: .cfi_endproc
3174 ; MSVC-I386-LABEL: test23b:
3175 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3176 ; MSVC-I386: retl
3194 ; LINUX-I386-LABEL: test23c:
3195 ; LINUX-I386: mov{{l|q}} %gs:
3196 ; LINUX-I386: calll __stack_chk_fail
3198 ; LINUX-X64-LABEL: test23c:
3199 ; LINUX-X64: mov{{l|q}} %fs:
3200 ; LINUX-X64: callq __stack_chk_fail
3202 ; LINUX-KERNEL-X64-LABEL: test23c:
3203 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3204 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3206 ; DARWIN-X64-LABEL: test23c:
3207 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3208 ; DARWIN-X64: callq ___stack_chk_fail
3210 ; MSVC-I386-LABEL: test23c:
3211 ; MSVC-I386: movl ___security_cookie,
3212 ; MSVC-I386: calll @__security_check_cookie@4
3230 ; LINUX-I386-LABEL: test23d:
3231 ; LINUX-I386: mov{{l|q}} %gs:
3232 ; LINUX-I386: calll __stack_chk_fail
3234 ; LINUX-X64-LABEL: test23d:
3235 ; LINUX-X64: mov{{l|q}} %fs:
3236 ; LINUX-X64: callq __stack_chk_fail
3238 ; LINUX-KERNEL-X64-LABEL: test23d:
3239 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3240 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3242 ; DARWIN-X64-LABEL: test23d:
3243 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3244 ; DARWIN-X64: callq ___stack_chk_fail
3246 ; MSVC-I386-LABEL: test23d:
3247 ; MSVC-I386: movl ___security_cookie,
3248 ; MSVC-I386: calll @__security_check_cookie@4
3265 ; LINUX-I386-LABEL: test24a:
3266 ; LINUX-I386-NOT: calll __stack_chk_fail
3267 ; LINUX-I386: .cfi_endproc
3269 ; LINUX-X64-LABEL: test24a:
3270 ; LINUX-X64-NOT: callq __stack_chk_fail
3271 ; LINUX-X64: .cfi_endproc
3273 ; LINUX-KERNEL-X64-LABEL: test24a:
3274 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3275 ; LINUX-KERNEL-X64: .cfi_endproc
3277 ; DARWIN-X64-LABEL: test24a:
3278 ; DARWIN-X64-NOT: callq ___stack_chk_fail
3279 ; DARWIN-X64: .cfi_endproc
3281 ; MSVC-I386-LABEL: test24a:
3282 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3283 ; MSVC-I386: retl
3301 ; LINUX-I386-LABEL: test24b:
3302 ; LINUX-I386: mov{{l|q}} %gs:
3303 ; LINUX-I386: calll __stack_chk_fail
3305 ; LINUX-X64-LABEL: test24b:
3306 ; LINUX-X64: mov{{l|q}} %fs:
3307 ; LINUX-X64: callq __stack_chk_fail
3309 ; LINUX-KERNEL-X64-LABEL: test24b:
3310 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3311 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3313 ; DARWIN-X64-LABEL: test24b:
3314 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3315 ; DARWIN-X64: callq ___stack_chk_fail
3317 ; MSVC-I386-LABEL: test24b:
3318 ; MSVC-I386: movl ___security_cookie,
3319 ; MSVC-I386: calll @__security_check_cookie@4
3337 ; LINUX-I386-LABEL: test24c:
3338 ; LINUX-I386: mov{{l|q}} %gs:
3339 ; LINUX-I386: calll __stack_chk_fail
3341 ; LINUX-X64-LABEL: test24c:
3342 ; LINUX-X64: mov{{l|q}} %fs:
3343 ; LINUX-X64: callq __stack_chk_fail
3345 ; LINUX-KERNEL-X64-LABEL: test24c:
3346 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3347 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3349 ; DARWIN-X64-LABEL: test24c:
3350 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3351 ; DARWIN-X64: callq ___stack_chk_fail
3353 ; MSVC-I386-LABEL: test24c:
3354 ; MSVC-I386: movl ___security_cookie,
3355 ; MSVC-I386: calll @__security_check_cookie@4
3373 ; LINUX-I386-LABEL: test24d:
3374 ; LINUX-I386: mov{{l|q}} %gs:
3375 ; LINUX-I386: calll __stack_chk_fail
3377 ; LINUX-X64-LABEL: test24d:
3378 ; LINUX-X64: mov{{l|q}} %fs:
3379 ; LINUX-X64: callq __stack_chk_fail
3381 ; LINUX-KERNEL-X64-LABEL: test24d:
3382 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3383 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3385 ; DARWIN-X64-LABEL: test24d:
3386 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3387 ; DARWIN-X64: callq ___stack_chk_fail
3389 ; MSVC-I386-LABEL: test24d:
3390 ; MSVC-I386: movl ___security_cookie,
3391 ; MSVC-I386: calll @__security_check_cookie@4
3408 ; LINUX-I386-LABEL: test25a:
3409 ; LINUX-I386-NOT: calll __stack_chk_fail
3410 ; LINUX-I386: .cfi_endproc
3412 ; LINUX-X64-LABEL: test25a:
3413 ; LINUX-X64-NOT: callq __stack_chk_fail
3414 ; LINUX-X64: .cfi_endproc
3416 ; LINUX-KERNEL-X64-LABEL: test25a:
3417 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3418 ; LINUX-KERNEL-X64: .cfi_endproc
3420 ; DARWIN-X64-LABEL: test25a:
3421 ; DARWIN-X64-NOT: callq ___stack_chk_fail
3422 ; DARWIN-X64: .cfi_endproc
3424 ; MSVC-I386-LABEL: test25a:
3425 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3426 ; MSVC-I386: retl
3439 ; LINUX-I386-LABEL: test25b:
3440 ; LINUX-I386-NOT: calll __stack_chk_fail
3441 ; LINUX-I386: .cfi_endproc
3443 ; LINUX-X64-LABEL: test25b:
3444 ; LINUX-X64-NOT: callq __stack_chk_fail
3445 ; LINUX-X64: .cfi_endproc
3447 ; LINUX-KERNEL-X64-LABEL: test25b:
3448 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3449 ; LINUX-KERNEL-X64: .cfi_endproc
3451 ; DARWIN-X64-LABEL: test25b:
3452 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3453 ; DARWIN-X64: callq ___stack_chk_fail
3455 ; MSVC-I386-LABEL: test25b:
3456 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3457 ; MSVC-I386: retl
3470 ; LINUX-I386-LABEL: test25c:
3471 ; LINUX-I386: mov{{l|q}} %gs:
3472 ; LINUX-I386: calll __stack_chk_fail
3474 ; LINUX-X64-LABEL: test25c:
3475 ; LINUX-X64: mov{{l|q}} %fs:
3476 ; LINUX-X64: callq __stack_chk_fail
3478 ; LINUX-KERNEL-X64-LABEL: test25c:
3479 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3480 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3482 ; DARWIN-X64-LABEL: test25c:
3483 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3484 ; DARWIN-X64: callq ___stack_chk_fail
3486 ; MSVC-I386-LABEL: test25c:
3487 ; MSVC-I386: movl ___security_cookie,
3488 ; MSVC-I386: calll @__security_check_cookie@4
3501 ; LINUX-I386-LABEL: test25d:
3502 ; LINUX-I386: mov{{l|q}} %gs:
3503 ; LINUX-I386: calll __stack_chk_fail
3505 ; LINUX-X64-LABEL: test25d:
3506 ; LINUX-X64: mov{{l|q}} %fs:
3507 ; LINUX-X64: callq __stack_chk_fail
3509 ; LINUX-KERNEL-X64-LABEL: test25d:
3510 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3511 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3513 ; DARWIN-X64-LABEL: test25d:
3514 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3515 ; DARWIN-X64: callq ___stack_chk_fail
3517 ; MSVC-I386-LABEL: test25d:
3518 ; MSVC-I386: movl ___security_cookie,
3519 ; MSVC-I386: calll @__security_check_cookie@4
3526 ; test26: Nested structure, no arrays, no address-of expressions.
3527 ; Verify that the resulting gep-of-gep does not incorrectly trigger
3534 ; LINUX-I386-LABEL: test26:
3535 ; LINUX-I386-NOT: calll __stack_chk_fail
3536 ; LINUX-I386: .cfi_endproc
3538 ; LINUX-X64-LABEL: test26:
3539 ; LINUX-X64-NOT: callq __stack_chk_fail
3540 ; LINUX-X64: .cfi_endproc
3542 ; LINUX-KERNEL-X64-LABEL: test26:
3543 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3544 ; LINUX-KERNEL-X64: .cfi_endproc
3546 ; DARWIN-X64-LABEL: test26:
3547 ; DARWIN-X64-NOT: callq ___stack_chk_fail
3548 ; DARWIN-X64: .cfi_endproc
3550 ; MSVC-I386-LABEL: test26:
3551 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3552 ; MSVC-I386: retl
3561 ; test27: Address-of a structure taken in a function with a loop where
3564 ; Verify that the address-of analysis does not get stuck in infinite
3570 ; LINUX-I386-LABEL: test27:
3571 ; LINUX-I386: mov{{l|q}} %gs:
3572 ; LINUX-I386: calll __stack_chk_fail
3574 ; LINUX-X64-LABEL: test27:
3575 ; LINUX-X64: mov{{l|q}} %fs:
3576 ; LINUX-X64: callq __stack_chk_fail
3578 ; LINUX-KERNEL-X64-LABEL: test27:
3579 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3580 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3582 ; DARWIN-X64-LABEL: test27:
3583 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3584 ; DARWIN-X64: callq ___stack_chk_fail
3586 ; MSVC-I386-LABEL: test27:
3587 ; MSVC-I386: movl ___security_cookie,
3588 ; MSVC-I386: calll @__security_check_cookie@4
3622 ; test28a: An array of [32 x i8] and a requested ssp-buffer-size of 33.
3624 ; Function Attrs: ssp stack-protector-buffer-size=33
3627 ; LINUX-I386-LABEL: test28a:
3628 ; LINUX-I386-NOT: calll __stack_chk_fail
3629 ; LINUX-I386: .cfi_endproc
3631 ; LINUX-X64-LABEL: test28a:
3632 ; LINUX-X64-NOT: callq __stack_chk_fail
3633 ; LINUX-X64: .cfi_endproc
3635 ; LINUX-KERNEL-X64-LABEL: test28a:
3636 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3637 ; LINUX-KERNEL-X64: .cfi_endproc
3639 ; DARWIN-X64-LABEL: test28a:
3640 ; DARWIN-X64-NOT: callq ___stack_chk_fail
3641 ; DARWIN-X64: .cfi_endproc
3643 ; MSVC-I386-LABEL: test28a:
3644 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3645 ; MSVC-I386: retl
3652 ; test28b: An array of [33 x i8] and a requested ssp-buffer-size of 33.
3654 ; Function Attrs: ssp stack-protector-buffer-size=33
3657 ; LINUX-I386-LABEL: test28b:
3658 ; LINUX-I386: mov{{l|q}} %gs:
3659 ; LINUX-I386: calll __stack_chk_fail
3661 ; LINUX-X64-LABEL: test28b:
3662 ; LINUX-X64: mov{{l|q}} %fs:
3663 ; LINUX-X64: callq __stack_chk_fail
3665 ; LINUX-KERNEL-X64-LABEL: test28b:
3666 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3667 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3669 ; DARWIN-X64-LABEL: test28b:
3670 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3671 ; DARWIN-X64: callq ___stack_chk_fail
3673 ; MSVC-I386-LABEL: test28b:
3674 ; MSVC-I386: movl ___security_cookie,
3675 ; MSVC-I386: calll @__security_check_cookie@4
3682 ; test29a: An array of [4 x i8] and a requested ssp-buffer-size of 5.
3684 ; Function Attrs: ssp stack-protector-buffer-size=5
3687 ; LINUX-I386-LABEL: test29a:
3688 ; LINUX-I386-NOT: calll __stack_chk_fail
3689 ; LINUX-I386: .cfi_endproc
3691 ; LINUX-X64-LABEL: test29a:
3692 ; LINUX-X64-NOT: callq __stack_chk_fail
3693 ; LINUX-X64: .cfi_endproc
3695 ; LINUX-KERNEL-X64-LABEL: test29a:
3696 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3697 ; LINUX-KERNEL-X64: .cfi_endproc
3699 ; DARWIN-X64-LABEL: test29a:
3700 ; DARWIN-X64-NOT: callq ___stack_chk_fail
3701 ; DARWIN-X64: .cfi_endproc
3703 ; MSVC-I386-LABEL: test29a:
3704 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3705 ; MSVC-I386: retl
3712 ; test29b: An array of [5 x i8] and a requested ssp-buffer-size of 5.
3714 ; Function Attrs: ssp stack-protector-buffer-size=5
3717 ; LINUX-I386-LABEL: test29b:
3718 ; LINUX-I386: mov{{l|q}} %gs:
3719 ; LINUX-I386: calll __stack_chk_fail
3721 ; LINUX-X64-LABEL: test29b:
3722 ; LINUX-X64: mov{{l|q}} %fs:
3723 ; LINUX-X64: callq __stack_chk_fail
3725 ; LINUX-KERNEL-X64-LABEL: test29b:
3726 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3727 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3729 ; DARWIN-X64-LABEL: test29b:
3730 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3731 ; DARWIN-X64: callq ___stack_chk_fail
3733 ; MSVC-I386-LABEL: test29b:
3734 ; MSVC-I386: movl ___security_cookie,
3735 ; MSVC-I386: calll @__security_check_cookie@4
3743 ; Requested ssp-buffer-size of 6.
3745 ; Function Attrs: ssp stack-protector-buffer-size=6
3748 ; LINUX-I386-LABEL: test30a:
3749 ; LINUX-I386-NOT: calll __stack_chk_fail
3750 ; LINUX-I386: .cfi_endproc
3752 ; LINUX-X64-LABEL: test30a:
3753 ; LINUX-X64-NOT: callq __stack_chk_fail
3754 ; LINUX-X64: .cfi_endproc
3756 ; LINUX-KERNEL-X64-LABEL: test30a:
3757 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3758 ; LINUX-KERNEL-X64: .cfi_endproc
3760 ; DARWIN-X64-LABEL: test30a:
3761 ; DARWIN-X64-NOT: callq ___stack_chk_fail
3762 ; DARWIN-X64: .cfi_endproc
3764 ; MSVC-I386-LABEL: test30a:
3765 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3766 ; MSVC-I386: retl
3781 ; Requested ssp-buffer-size of 5.
3783 ; Function Attrs: ssp stack-protector-buffer-size=5
3786 ; LINUX-I386-LABEL: test30b:
3787 ; LINUX-I386: mov{{l|q}} %gs:
3788 ; LINUX-I386: calll __stack_chk_fail
3790 ; LINUX-X64-LABEL: test30b:
3791 ; LINUX-X64: mov{{l|q}} %fs:
3792 ; LINUX-X64: callq __stack_chk_fail
3794 ; LINUX-KERNEL-X64-LABEL: test30b:
3795 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3796 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3798 ; DARWIN-X64-LABEL: test30b:
3799 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3800 ; DARWIN-X64: callq ___stack_chk_fail
3802 ; MSVC-I386-LABEL: test30b:
3803 ; MSVC-I386: movl ___security_cookie,
3804 ; MSVC-I386: calll @__security_check_cookie@4
3819 ; Requested ssp-buffer-size of 6.
3821 ; Function Attrs: ssp stack-protector-buffer-size=6
3824 ; LINUX-I386-LABEL: test31a:
3825 ; LINUX-I386-NOT: calll __stack_chk_fail
3826 ; LINUX-I386: .cfi_endproc
3828 ; LINUX-X64-LABEL: test31a:
3829 ; LINUX-X64-NOT: callq __stack_chk_fail
3830 ; LINUX-X64: .cfi_endproc
3832 ; LINUX-KERNEL-X64-LABEL: test31a:
3833 ; LINUX-KERNEL-X64-NOT: callq __stack_chk_fail
3834 ; LINUX-KERNEL-X64: .cfi_endproc
3836 ; DARWIN-X64-LABEL: test31a:
3837 ; DARWIN-X64-NOT: callq ___stack_chk_fail
3838 ; DARWIN-X64: .cfi_endproc
3840 ; MSVC-I386-LABEL: test31a:
3841 ; MSVC-I386-NOT: calll @__security_check_cookie@4
3842 ; MSVC-I386: retl
3852 ; Requested ssp-buffer-size of 5.
3856 ; LINUX-I386-LABEL: test31b:
3857 ; LINUX-I386: mov{{l|q}} %gs:
3858 ; LINUX-I386: calll __stack_chk_fail
3860 ; LINUX-X64-LABEL: test31b:
3861 ; LINUX-X64: mov{{l|q}} %fs:
3862 ; LINUX-X64: callq __stack_chk_fail
3864 ; LINUX-KERNEL-X64-LABEL: test31b:
3865 ; LINUX-KERNEL-X64: mov{{l|q}} %gs:
3866 ; LINUX-KERNEL-X64: callq __stack_chk_fail
3868 ; DARWIN-X64-LABEL: test31b:
3869 ; DARWIN-X64: mov{{l|q}} ___stack_chk_guard
3870 ; DARWIN-X64: callq ___stack_chk_fail
3872 ; MSVC-I386-LABEL: test31b:
3873 ; MSVC-I386: movl ___security_cookie,
3874 ; MSVC-I386: calll @__security_check_cookie@4
3910 attributes #3 = { ssp "stack-protector-buffer-size"="33" }
3911 attributes #4 = { ssp "stack-protector-buffer-size"="5" }
3912 attributes #5 = { ssp "stack-protector-buffer-size"="6" }