diff options
author | Joonas Kylmälä <joonas.kylmala@iki.fi> | 2018-08-27 14:09:09 -0400 |
---|---|---|
committer | Joonas Kylmälä <joonas.kylmala@iki.fi> | 2018-08-27 14:09:09 -0400 |
commit | 989f332ea4e1ac952625139fbd7c18e8a8b31c8a (patch) | |
tree | 28f03931fa1c2148a015d59d9855bf976231101a /gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | |
parent | b0c259403b7b74b55fc93f50fd1f2fbae3510ece (diff) | |
parent | a74813a825e49267faa0b2ba45e9cd4bd6ccf4f4 (diff) | |
download | toolchain_gcc-replicant-6.0.tar.gz toolchain_gcc-replicant-6.0.tar.bz2 toolchain_gcc-replicant-6.0.zip |
Merge remote-tracking branch 'aosp/master' into replicant-6.0HEADreplicant-6.0-0004-transitionreplicant-6.0-0004-rc6replicant-6.0-0004-rc5-transitionreplicant-6.0-0004-rc5replicant-6.0-0004-rc4replicant-6.0-0004-rc3replicant-6.0-0004-rc2replicant-6.0-0004-rc1replicant-6.0-0004replicant-6.0master
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c b/gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c new file mode 100644 index 000000000..aece93836 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c @@ -0,0 +1,43 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */ + +void func0 (void); +void func1 (void); +void func2 (void); +void func3 (void); +void func4 (void); +void func4 (void); +void func5 (void); + +void +bar (int i) +{ + switch (i) + { + default: + func0 (); + break; + case 1: + func1 (); + break; + case 2: + func2 (); + break; + case 3: + func3 (); + break; + case 4: + func4 (); + break; + case 5: + func5 (); + break; + } +} + +/* { dg-final { scan-assembler "push(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target { { ! x32 } && *-*-linux* } } } } */ +/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk" { target { ! x32 } } } } */ +/* { dg-final { scan-assembler "jmp\[ \t\]*__x86_indirect_thunk_(r|e)ax" { target x32 } } } */ +/* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */ +/* { dg-final { scan-assembler-not "jmp\[ \t\]*\.LIND" } } */ +/* { dg-final { scan-assembler-not "call\[ \t\]*\.LIND" } } */ |