#5226 Disabled PS instructions

Wed, 05 Apr 2017 12:41:12 +0800

author
aoqi
date
Wed, 05 Apr 2017 12:41:12 +0800
changeset 394
61b347fb2a89
parent 393
671cd2b861b4
child 395
eeea63acbe68

#5226 Disabled PS instructions
Kernel does not have emulation of PS instructions yet, so PS instructions is disabled.
Fixed a JVM crash caused by hotspot/test/compiler/6340864/TestFloatVect.java.

src/cpu/mips/vm/mips_64.ad file | annotate | diff | comparison | revisions
     1.1 --- a/src/cpu/mips/vm/mips_64.ad	Wed Mar 29 09:43:19 2017 +0800
     1.2 +++ b/src/cpu/mips/vm/mips_64.ad	Wed Apr 05 12:41:12 2017 +0800
     1.3 @@ -13985,8 +13985,9 @@
     1.4  // --------------------------------- ADD --------------------------------------
     1.5  
     1.6  // Floats vector add
     1.7 +// kernel does not have emulation of PS instructions yet, so PS instructions is disabled.
     1.8  instruct vadd2F(vecD dst, vecD src) %{
     1.9 -  predicate(n->as_Vector()->length() == 2);
    1.10 +  predicate(n->as_Vector()->length() == 2 && !UseLoongsonISA);
    1.11    match(Set dst (AddVF dst src));
    1.12    format %{ "add.ps   $dst,$src\t! add packed2F" %}
    1.13    ins_encode %{
    1.14 @@ -13996,7 +13997,7 @@
    1.15  %}
    1.16  
    1.17  instruct vadd2F3(vecD dst, vecD src1, vecD src2) %{
    1.18 -  predicate(n->as_Vector()->length() == 2);
    1.19 +  predicate(n->as_Vector()->length() == 2 && !UseLoongsonISA);
    1.20    match(Set dst (AddVF src1 src2));
    1.21    format %{ "add.ps   $dst,$src1,$src2\t! add packed2F" %}
    1.22    ins_encode %{
    1.23 @@ -14009,7 +14010,7 @@
    1.24  
    1.25  // Floats vector sub
    1.26  instruct vsub2F(vecD dst, vecD src) %{
    1.27 -  predicate(n->as_Vector()->length() == 2);
    1.28 +  predicate(n->as_Vector()->length() == 2 && !UseLoongsonISA);
    1.29    match(Set dst (SubVF dst src));
    1.30    format %{ "sub.ps   $dst,$src\t! sub packed2F" %}
    1.31    ins_encode %{
    1.32 @@ -14022,7 +14023,7 @@
    1.33  
    1.34  // Floats vector mul
    1.35  instruct vmul2F(vecD dst, vecD src) %{
    1.36 -  predicate(n->as_Vector()->length() == 2);
    1.37 +  predicate(n->as_Vector()->length() == 2 && !UseLoongsonISA);
    1.38    match(Set dst (MulVF dst src));
    1.39    format %{ "mul.ps   $dst, $src\t! mul packed2F" %}
    1.40    ins_encode %{
    1.41 @@ -14032,7 +14033,7 @@
    1.42  %}
    1.43  
    1.44  instruct vmul2F3(vecD dst, vecD src1, vecD src2) %{
    1.45 -  predicate(n->as_Vector()->length() == 2);
    1.46 +  predicate(n->as_Vector()->length() == 2 && !UseLoongsonISA);
    1.47    match(Set dst (MulVF src1 src2));
    1.48    format %{ "mul.ps   $dst, $src1, $src2\t! mul packed2F" %}
    1.49    ins_encode %{

mercurial