8278584: compiler/vectorapi/VectorMaskLoadStoreTest.java failed with "Error: ShouldNotReachHere()"
Reviewed-by: kvn, psandoz
This commit is contained in:
parent
98a8d446b6
commit
2def7e9132
@ -9549,7 +9549,7 @@ instruct long_to_maskLE8_avx(vec dst, rRegL src, rRegL rtmp1, rRegL rtmp2, vec x
|
||||
format %{ "long_to_mask_avx $dst, $src\t! using $rtmp1, $rtmp2, $xtmp as TEMP" %}
|
||||
ins_encode %{
|
||||
int mask_len = Matcher::vector_length(this);
|
||||
int vec_enc = vector_length_encoding(mask_len*8);
|
||||
int vec_enc = vector_length_encoding(mask_len);
|
||||
__ vector_long_to_maskvec($dst$$XMMRegister, $src$$Register, $rtmp1$$Register,
|
||||
$rtmp2$$Register, xnoreg, mask_len, vec_enc);
|
||||
%}
|
||||
@ -9565,7 +9565,7 @@ instruct long_to_maskGT8_avx(vec dst, rRegL src, rRegL rtmp1, rRegL rtmp2, vec x
|
||||
ins_encode %{
|
||||
int mask_len = Matcher::vector_length(this);
|
||||
assert(mask_len <= 32, "invalid mask length");
|
||||
int vec_enc = vector_length_encoding(mask_len*8);
|
||||
int vec_enc = vector_length_encoding(mask_len);
|
||||
__ vector_long_to_maskvec($dst$$XMMRegister, $src$$Register, $rtmp1$$Register,
|
||||
$rtmp2$$Register, $xtmp1$$XMMRegister, mask_len, vec_enc);
|
||||
%}
|
||||
@ -9577,7 +9577,6 @@ instruct long_to_mask_evex(kReg dst, rRegL src) %{
|
||||
match(Set dst (VectorLongToMask src));
|
||||
format %{ "long_to_mask_evex $dst, $src\t!" %}
|
||||
ins_encode %{
|
||||
int mask_len = Matcher::vector_length(this);
|
||||
__ kmov($dst$$KRegister, $src$$Register);
|
||||
%}
|
||||
ins_pipe( pipe_slow );
|
||||
|
@ -49,6 +49,18 @@ import org.testng.annotations.Test;
|
||||
* @run testng/othervm -XX:-TieredCompilation -XX:CompileThreshold=100 compiler.vectorapi.VectorMaskLoadStoreTest
|
||||
*/
|
||||
|
||||
/**
|
||||
* @test
|
||||
* @bug 8278584
|
||||
* @library /test/lib
|
||||
* @summary Test the codegen for C2's VectorLongToMaskNode
|
||||
* "-XX:DisableIntrinsic=_VectorMaskOp" is required to break "VectorMaskToLong (VectorLongToMask l) ==> l" opt.
|
||||
* This is because when _VectorMaskOp is disabled, VectorMaskToLong won't be generated.
|
||||
* @modules jdk.incubator.vector
|
||||
*
|
||||
* @run testng/othervm -XX:-TieredCompilation -XX:CompileThreshold=100 -XX:+UnlockDiagnosticVMOptions
|
||||
* -XX:DisableIntrinsic=_VectorMaskOp compiler.vectorapi.VectorMaskLoadStoreTest
|
||||
*/
|
||||
|
||||
public class VectorMaskLoadStoreTest{
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user