[LVU] set ppc64 blockage's length to zero
authorAlexandre Oliva <aoliva@redhat.com>
Fri, 9 Feb 2018 10:39:28 +0000 (10:39 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Fri, 9 Feb 2018 10:39:28 +0000 (10:39 +0000)
LVU requires the zero-length (pseudo) insns's length to reflect
reality.  If they don't, it may assume there's a PC change where there
isn't any, and then a view-aware assembler will detect the problem and
complain about out-of-sync views.

ppc blockage pseudo-insns did not have the length attribute explicitly
set in them, so they inherited the attribute's default value, and that
was nonzero.

for  gcc/ChangeLog

* config/rs6000/rs6000.md (blockage): Set length to zero.

From-SVN: r257520

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 7ed08fa75861560a545b9890b7f14cf0a8209b1d..fc3d80c3552239e417eefa12af884a680543a390 100644 (file)
@@ -1,3 +1,7 @@
+2018-02-09  Alexandre Oliva <aoliva@redhat.com>
+
+       * config/rs6000/rs6000.md (blockage): Set length to zero.
+
 2018-02-09  Eric Botcazou  <ebotcazou@adacore.com>
 
        * expr.c (optimize_bitfield_assignment_op): Remove obsolete assertion.
index 33f0d959f5d09598abcbe3b35a28b1685f90ad9a..8aa4e0e7c71ed3504e653eaab1aa53534d548940 100644 (file)
 (define_insn "blockage"
   [(unspec_volatile [(const_int 0)] UNSPECV_BLOCK)]
   ""
-  "")
+  ""
+  [(set_attr "length" "0")])
 
 (define_expand "probe_stack_address"
   [(use (match_operand 0 "address_operand"))]