Skip to content

Commit 5dd0acb

Browse files
committed
8352477: RISC-V: Print warnings when unsupported intrinsics are enabled
Reviewed-by: mli, rehn, fjiang
1 parent 334a1ee commit 5dd0acb

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

src/hotspot/cpu/riscv/vm_version_riscv.cpp

+19-10
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,11 @@ void VM_Version::common_initialize() {
128128
}
129129

130130
if (FLAG_IS_DEFAULT(UseCopySignIntrinsic)) {
131-
FLAG_SET_DEFAULT(UseCopySignIntrinsic, true);
131+
FLAG_SET_DEFAULT(UseCopySignIntrinsic, true);
132132
}
133133

134134
if (FLAG_IS_DEFAULT(UseSignumIntrinsic)) {
135-
FLAG_SET_DEFAULT(UseSignumIntrinsic, true);
135+
FLAG_SET_DEFAULT(UseSignumIntrinsic, true);
136136
}
137137

138138
if (UseRVC && !ext_C.enabled()) {
@@ -150,8 +150,12 @@ void VM_Version::common_initialize() {
150150
unaligned_access.value() != MISALIGNED_FAST);
151151
}
152152

153-
if (FLAG_IS_DEFAULT(UsePoly1305Intrinsics) && !AvoidUnalignedAccesses) {
154-
FLAG_SET_DEFAULT(UsePoly1305Intrinsics, true);
153+
if (!AvoidUnalignedAccesses) {
154+
if (FLAG_IS_DEFAULT(UsePoly1305Intrinsics)) {
155+
FLAG_SET_DEFAULT(UsePoly1305Intrinsics, true);
156+
}
157+
} else if (UsePoly1305Intrinsics) {
158+
warning("Intrinsics for Poly1305 crypto hash functions not available on this CPU.");
155159
}
156160

157161
// See JDK-8026049
@@ -315,10 +319,6 @@ void VM_Version::c2_initialize() {
315319
FLAG_SET_DEFAULT(UseMontgomerySquareIntrinsic, true);
316320
}
317321

318-
if (FLAG_IS_DEFAULT(UseMD5Intrinsics) && !AvoidUnalignedAccesses) {
319-
FLAG_SET_DEFAULT(UseMD5Intrinsics, true);
320-
}
321-
322322
// Adler32
323323
if (UseRVV) {
324324
if (FLAG_IS_DEFAULT(UseAdler32Intrinsics)) {
@@ -359,14 +359,23 @@ void VM_Version::c2_initialize() {
359359
FLAG_SET_DEFAULT(UseZvbc, false);
360360
}
361361

362+
if (!AvoidUnalignedAccesses) {
363+
if (FLAG_IS_DEFAULT(UseMD5Intrinsics)) {
364+
FLAG_SET_DEFAULT(UseMD5Intrinsics, true);
365+
}
366+
} else if (UseMD5Intrinsics) {
367+
warning("Intrinsics for MD5 crypto hash functions not available on this CPU.");
368+
FLAG_SET_DEFAULT(UseMD5Intrinsics, false);
369+
}
370+
362371
// SHA's
363372
if (FLAG_IS_DEFAULT(UseSHA)) {
364373
FLAG_SET_DEFAULT(UseSHA, true);
365374
}
366375

367376
// SHA-1, no RVV required though.
368-
if (UseSHA) {
369-
if (FLAG_IS_DEFAULT(UseSHA1Intrinsics) && !AvoidUnalignedAccesses) {
377+
if (UseSHA && !AvoidUnalignedAccesses) {
378+
if (FLAG_IS_DEFAULT(UseSHA1Intrinsics)) {
370379
FLAG_SET_DEFAULT(UseSHA1Intrinsics, true);
371380
}
372381
} else if (UseSHA1Intrinsics) {

0 commit comments

Comments
 (0)