aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c
diff options
context:
space:
mode:
authorCaroline Tice <cmtice@google.com>2018-01-29 13:36:52 -0800
committerCaroline Tice <cmtice@google.com>2018-01-29 22:19:21 +0000
commitd64d815b3af9d2653d924ea2e1ebb21ee8b043b7 (patch)
tree41ddc808254fa6b40de6540413015909760ec306 /gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c
parent430f43829fa42b459ccbb53b44843c54c8ba4550 (diff)
downloadtoolchain_gcc-d64d815b3af9d2653d924ea2e1ebb21ee8b043b7.tar.gz
toolchain_gcc-d64d815b3af9d2653d924ea2e1ebb21ee8b043b7.tar.bz2
toolchain_gcc-d64d815b3af9d2653d924ea2e1ebb21ee8b043b7.zip
[GCC] Update with latest retpoline fixes from Intel.
Intel has updated their retpoline patches since we created our original patch. This CL updates our retpoline changes to match the latest from Intel. Bug: None Test: Tested extensively in ChromeOS. Built x86 platform & kernel images in Android. Change-Id: Id1a18cb1f1f4461832a017cb5c5d59e5400d9d08
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c b/gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c
new file mode 100644
index 000000000..e7e616bb2
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -mindirect-branch=thunk-inline -mindirect-branch-register -fno-pic" } */
+
+typedef void (*dispatch_t)(long offset);
+
+dispatch_t dispatch;
+
+void
+male_indirect_jump (long offset)
+{
+ dispatch(offset);
+}
+
+/* { dg-final { scan-assembler "jmp\[ \t\]*\.LIND" } } */
+/* { dg-final { scan-assembler "call\[ \t\]*\.LIND" } } */
+/* { dg-final { scan-assembler "mov\[ \t\](%eax|%rax), \\((%esp|%rsp)\\)" } } */
+/* { dg-final { scan-assembler {\tpause} } } */
+/* { dg-final { scan-assembler-not "push(?:l|q)\[ \t\]*_?dispatch" } } */
+/* { dg-final { scan-assembler-not "pushq\[ \t\]%rax" } } */
+/* { dg-final { scan-assembler-not "__x86_indirect_thunk" } } */