https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481

--- Comment #6 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Author: segher
Date: Thu Aug 22 19:36:21 2019
New Revision: 274835

URL: https://gcc.gnu.org/viewcvs?rev=274835&root=gcc&view=rev
Log:
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.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/rs6000.md

Reply via email to