[aarch64-port-dev ] RFR: Remove bogus conditionalisation around some SSE code

Edward Nevill edward.nevill at linaro.org
Thu Jan 23 01:48:32 PST 2014


Hi,

I am seeing the following error in jtreg test compiler/6855215/Test6855215.java

#  Internal Error (c1_LIRAssembler_aarch64.cpp:149), pid=30625, tid=547389162000
#  Error: Unimplemented()

Line 149 of c1_LIRAssembler_aarch64.cpp says

void LIR_Assembler::ffree(int i) { Unimplemented(); }

It is called from the following in c1_LIRAssembler.cpp

#if (defined(X86) || defined(AARCH64)) && defined(TIERED)
  // C2 leave fpu stack dirty clean it
  if (UseSSE < 2) {
    int i;
    for ( i = 1; i <= 7 ; i++ ) {
      ffree(i);
    }
    if (!op->result_opr()->is_float_kind()) {
      ffree(0);
    }
  }
#endif // X86 && TIERED

This is obviously bogus.

Fixed as follows.

Regards,
Ed.

--- CUT HERE ---
exporting patch:
# HG changeset patch
# User Edward Nevill edward.nevill at linaro.org
# Date 1390469953 0
#      Thu Jan 23 09:39:13 2014 +0000
# Node ID a5eb93bd3d45a88752b784c88047559504d42ba1
# Parent  813458fe14eeb9da65e68a12abb85ae1343b2b2d
Remove bogus AARCH64 conditionalisation around some SSE code

diff -r 813458fe14ee -r a5eb93bd3d45 src/share/vm/c1/c1_LIRAssembler.cpp
--- a/src/share/vm/c1/c1_LIRAssembler.cpp	Wed Jan 22 16:29:43 2014 +0000
+++ b/src/share/vm/c1/c1_LIRAssembler.cpp	Thu Jan 23 09:39:13 2014 +0000
@@ -495,7 +495,7 @@
     compilation()->set_has_method_handle_invokes(true);
   }
 
-#if (defined(X86) || defined(AARCH64)) && defined(TIERED)
+#if defined(X86) && defined(TIERED)
   // C2 leave fpu stack dirty clean it
   if (UseSSE < 2) {
     int i;
--- CUT HERE ---




More information about the aarch64-port-dev mailing list