[aarch64-port-dev ] C2: Correct handling of 64-bit logical immediate operands.

Andrew Haley aph at redhat.com
Mon Nov 18 02:28:58 PST 2013


Fix a small cut-n-paste error handling 64-bit logical immediate operands.

Andrew.


# HG changeset patch
# User aph
# Date 1384511583 18000
#      Fri Nov 15 05:33:03 2013 -0500
# Node ID fa8f1a444540e106765e3967e3c97a394389f706
# Parent  cbc8c470e3bd2fa1711f3e135bc5b52240ba14a0
Correct handling of 64-bit logical immediate operands.

diff -r cbc8c470e3bd -r fa8f1a444540 src/cpu/aarch64/vm/aarch64.ad
--- a/src/cpu/aarch64/vm/aarch64.ad	Thu Nov 14 12:59:57 2013 +0000
+++ b/src/cpu/aarch64/vm/aarch64.ad	Fri Nov 15 05:33:03 2013 -0500
@@ -3588,7 +3588,7 @@
 // TODO -- check this is right when e.g the mask is 0x80000000
 operand immILog()
 %{
-  predicate(Assembler::operand_valid_for_logical_immediate(true, (unsigned long)n->get_int()));
+  predicate(Assembler::operand_valid_for_logical_immediate(/*is32*/true, (unsigned long)n->get_int()));
   match(ConI);
   op_cost(0);
   format %{ %}
@@ -3665,7 +3665,7 @@
 // 64 bit integer valid for logical immediate
 operand immLLog()
 %{
-  predicate(Assembler::operand_valid_for_logical_immediate(true, (unsigned long)n->get_long()));
+  predicate(Assembler::operand_valid_for_logical_immediate(/*is32*/false, (unsigned long)n->get_long()));
   match(ConL);
   op_cost(0);
   format %{ %}



More information about the aarch64-port-dev mailing list