rs6000: Use unspec_volatile for darn (PR91481)
authorSegher Boessenkool <segher@kernel.crashing.org>
Thu, 22 Aug 2019 19:36:21 +0000 (21:36 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Thu, 22 Aug 2019 19:36:21 +0000 (21:36 +0200)
commite99bfdd2a8db732ea84cf0a6486707e5e821ad7e
tree454c0a2709201967bc81989ce4ba7a1144785ccf
parent71278ecd4e308ce44f804cf4b2e26339b7d6f93f
rs6000: Use unspec_volatile for darn (PR91481)

Every call to darn should deliver a *new* random number; such calls
should not be CSEd together.  So they should be unspec_volatile, not
plain unspec.

PR target/91481
* config/rs6000/rs6000.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
and UNSPEC_DARN_RAW.
(unspecv): New enumerator values UNSPECV_DARN, UNSPECV_DARN_32, and
UNSPECV_DARN_RAW.
(darn_32): Use an unspec_volatile, and UNSPECV_DARN_32.
(darn_raw): Use an unspec_volatile, and UNSPECV_DARN_RAW.
(darn): Use an unspec_volatile, and UNSPECV_DARN.

From-SVN: r274835
gcc/ChangeLog
gcc/config/rs6000/rs6000.md