--- a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp Mon Mar 11 21:26:19 2019 -0400
+++ b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp Thu Mar 07 02:39:06 2019 +0000
@@ -2240,6 +2240,19 @@
#undef INSN
+#define INSN(NAME, opc) \
+ void NAME(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn) { \
+ starti; \
+ assert(T == T4S, "arrangement must be T4S"); \
+ f(0, 31), f((int)T & 1, 30), f(0b101110, 29, 24), f(opc, 23), \
+ f(T == T4S ? 0 : 1, 22), f(0b110000111110, 21, 10); rf(Vn, 5), rf(Vd, 0); \
+ }
+
+ INSN(fmaxv, 0);
+ INSN(fminv, 1);
+
+#undef INSN
+
#define INSN(NAME, op0, cmode0) \
void NAME(FloatRegister Vd, SIMD_Arrangement T, unsigned imm8, unsigned lsl = 0) { \
unsigned cmode = cmode0; \
@@ -2281,6 +2294,8 @@
INSN(fsub, 0, 1, 0b110101);
INSN(fmla, 0, 0, 0b110011);
INSN(fmls, 0, 1, 0b110011);
+ INSN(fmax, 0, 0, 0b111101);
+ INSN(fmin, 0, 1, 0b111101);
#undef INSN