aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsimonis <none@none>2016-06-14 19:48:30 +0200
committersimonis <none@none>2016-06-14 19:48:30 +0200
commitccb3aa64627d51645d9f7562f68a57ab4cb17b12 (patch)
treec52a90c7d6633065bcb6f6e5ec597392b974d376
parent364b81ee1fa7827ec231d809960e8c83cf2ed34c (diff)
downloadjdk8u_hotspot-ccb3aa64627d51645d9f7562f68a57ab4cb17b12.tar.gz
8158260: PPC64: unaligned Unsafe.getInt can lead to the generation of illegal instructions
Summary: Adjust instruction generation. Reviewed-by: goetz Contributed-by: gromero@linux.vnet.ibm.com, horii@jp.ibm.com
-rw-r--r--src/cpu/ppc/vm/ppc.ad4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cpu/ppc/vm/ppc.ad b/src/cpu/ppc/vm/ppc.ad
index b3ca8ad9c..54c236101 100644
--- a/src/cpu/ppc/vm/ppc.ad
+++ b/src/cpu/ppc/vm/ppc.ad
@@ -5469,7 +5469,7 @@ instruct loadUI2L(iRegLdst dst, memory mem, immL_32bits mask) %{
%}
// Match loading integer and casting it to long.
-instruct loadI2L(iRegLdst dst, memory mem) %{
+instruct loadI2L(iRegLdst dst, memoryAlg4 mem) %{
match(Set dst (ConvI2L (LoadI mem)));
predicate(_kids[0]->_leaf->as_Load()->is_unordered());
ins_cost(MEMORY_REF_COST);
@@ -5485,7 +5485,7 @@ instruct loadI2L(iRegLdst dst, memory mem) %{
%}
// Match loading integer and casting it to long - acquire.
-instruct loadI2L_ac(iRegLdst dst, memory mem) %{
+instruct loadI2L_ac(iRegLdst dst, memoryAlg4 mem) %{
match(Set dst (ConvI2L (LoadI mem)));
ins_cost(3*MEMORY_REF_COST);