aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2018-08-01 08:16:48 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2018-08-01 08:16:48 +0000
commitd1b05d128dca0009642908dd2fb490c1ee27e72e (patch)
tree666fbf4907a416bc86347044c7e407cba6510155
parent31e962f2dd67eef0f148b60696df9d95cc1dd713 (diff)
downloadgcc-d1b05d128dca0009642908dd2fb490c1ee27e72e.zip
gcc-d1b05d128dca0009642908dd2fb490c1ee27e72e.tar.gz
gcc-d1b05d128dca0009642908dd2fb490c1ee27e72e.tar.bz2
rs6000 - add speculation_barrier pattern
This patch reworks the existing rs6000_speculation_barrier pattern to work with the new __builtin_sepculation_safe_value() intrinsic. The change is trivial as it simply requires renaming the existing speculation barrier pattern. So the total patch is to delete 14 characters! * config/rs6000/rs6000.md (speculation_barrier): Renamed from rs6000_speculation_barrier. * config/rs6000/rs6000.c (rs6000_expand_builtin): Adjust for new barrier pattern name. From-SVN: r263197
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.c2
-rw-r--r--gcc/config/rs6000/rs6000.md2
3 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6b2e93b..54cd8f9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2018-08-01 Richard Earnshaw <rearnsha@arm.com>
+ * config/rs6000/rs6000.md (speculation_barrier): Renamed from
+ rs6000_speculation_barrier.
+ * config/rs6000/rs6000.c (rs6000_expand_builtin): Adjust for
+ new barrier pattern name.
+
+2018-08-01 Richard Earnshaw <rearnsha@arm.com>
+
* config/i386/i386.md (unspecv): Add UNSPECV_SPECULATION_BARRIER.
(speculation_barrier): New insn.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 3040382..c2af4b8 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -15836,7 +15836,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
case MISC_BUILTIN_SPEC_BARRIER:
{
- emit_insn (gen_rs6000_speculation_barrier ());
+ emit_insn (gen_speculation_barrier ());
return NULL_RTX;
}
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 56b8a30..d70b01b 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -12641,7 +12641,7 @@
return "ori 2,2,0";
})
-(define_insn "rs6000_speculation_barrier"
+(define_insn "speculation_barrier"
[(unspec_volatile:BLK [(const_int 0)] UNSPECV_SPEC_BARRIER)]
""
"ori 31,31,0")