mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 01:40:39 +08:00
rs6000: powerpc_future_ok and powerpc_future_hw
Dejagnu targets for these. 2020-05-11 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/dg-future-0.c: New. * gcc.target/powerpc/dg-future-1.c: New. * lib/target-supports.exp (check_powerpc_future_hw_available): Replace -mfuture with -mcpu=future. (check_effective_target_powerpc_future_ok): Likewise. (is-effective-target): Add powerpc_future_hw.
This commit is contained in:
parent
ffeb6554be
commit
ef834ed9da
14
gcc/testsuite/gcc.target/powerpc/dg-future-0.c
Normal file
14
gcc/testsuite/gcc.target/powerpc/dg-future-0.c
Normal file
@ -0,0 +1,14 @@
|
||||
/* { dg-do compile { target { powerpc*-*-* } } } */
|
||||
/* { dg-options "-mdejagnu-cpu=future" } */
|
||||
|
||||
/* This tests that powerpc_future_ok works. */
|
||||
|
||||
extern void abort (void);
|
||||
|
||||
int futurity (void) {
|
||||
long int e = -1;
|
||||
asm ("pli %0,%1": "+r" (e) : "n" (0x12345));
|
||||
return (e == 0x12345);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler {\mpli\M} } } */
|
19
gcc/testsuite/gcc.target/powerpc/dg-future-1.c
Normal file
19
gcc/testsuite/gcc.target/powerpc/dg-future-1.c
Normal file
@ -0,0 +1,19 @@
|
||||
/* { dg-do run { target { powerpc*-*-* } } } */
|
||||
/* { dg-require-effective-target powerpc_future_hw } */
|
||||
/* { dg-options "-mdejagnu-cpu=future" } */
|
||||
|
||||
/* This tests that powerpc_future_hw works. */
|
||||
|
||||
extern void abort (void);
|
||||
|
||||
int futurity (void) {
|
||||
long int e = -1;
|
||||
asm ("pli %0,%1": "+r" (e) : "n" (0x12345));
|
||||
return (e == 0x12345);
|
||||
}
|
||||
|
||||
int main (int argc, char *argv [])
|
||||
{
|
||||
if (!futurity ())
|
||||
abort ();
|
||||
}
|
@ -2203,7 +2203,7 @@ proc check_powerpc_future_hw_available { } {
|
||||
asm ("pli %0,%1" : "+r" (e) : "n" (0x12345));
|
||||
return (e == 0x12345);
|
||||
}
|
||||
} "-mfuture"
|
||||
} "-mcpu=future"
|
||||
}]
|
||||
}
|
||||
|
||||
@ -5815,7 +5815,7 @@ proc check_effective_target_powerpc_future_ok { } {
|
||||
asm ("pli %0,%1" : "=r" (e) : "n" (0x12345));
|
||||
return e;
|
||||
}
|
||||
} "-mfuture"]
|
||||
} "-mcpu=future"]
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
@ -7762,6 +7762,7 @@ proc is-effective-target { arg } {
|
||||
"named_sections" { set selected [check_named_sections_available] }
|
||||
"gc_sections" { set selected [check_gc_sections_available] }
|
||||
"cxa_atexit" { set selected [check_cxa_atexit_available] }
|
||||
"powerpc_future_hw" { set selected [check_powerpc_future_hw_available] }
|
||||
default { error "unknown effective target keyword `$arg'" }
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user