changeset 7910:9a6515e858d5

8074349: AARCH64: C2 generates poor code for some byte and character stores Summary: Use iRegIorL2I as src input for char and byte stores. Reviewed-by: kvn
author aph
date Tue, 03 Mar 2015 17:56:33 +0000
parents ba828548b907
children c3b117fa5bde
files src/cpu/aarch64/vm/aarch64.ad
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/aarch64/vm/aarch64.ad	Tue Mar 03 06:23:49 2015 -0800
+++ b/src/cpu/aarch64/vm/aarch64.ad	Tue Mar 03 17:56:33 2015 +0000
@@ -5630,7 +5630,7 @@
 %}
 
 // Store Byte
-instruct storeB(iRegI src, memory mem)
+instruct storeB(iRegIorL2I src, memory mem)
 %{
   match(Set mem (StoreB mem src));
   predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
@@ -5658,7 +5658,7 @@
 %}
 
 // Store Char/Short
-instruct storeC(iRegI src, memory mem)
+instruct storeC(iRegIorL2I src, memory mem)
 %{
   match(Set mem (StoreC mem src));
   predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());