x86.ad has checks like "ifndef LP64". Those do not work reliably. On x86_64, it is not defined for ADLC compilation, making the code always take the "not defined" branch. Note that the same file uses "ifdef _LP64" (note the underscore) at the same file.
If you fix that with proper "ifndef _LP64":
diff -r 2360f73c5514 src/hotspot/cpu/x86/x86.ad
--- a/src/hotspot/cpu/x86/x86.ad Fri Jan 18 09:32:02 2019 +0100
+++ b/src/hotspot/cpu/x86/x86.ad Fri Jan 18 10:02:35 2019 +0100
@@ -1685,5 +1685,5 @@
case Op_VecD:
case Op_VecX:
-#ifndef LP64
+#ifndef _LP64
__ movdqu(as_XMMRegister(Matcher::_regEncode[dst_lo]), as_XMMRegister(Matcher::_regEncode[src_lo]));
#else
@@ -1697,5 +1697,5 @@
break;
case Op_VecY:
-#ifndef LP64
+#ifndef _LP64
__ vmovdqu(as_XMMRegister(Matcher::_regEncode[dst_lo]), as_XMMRegister(Matcher::_regEncode[src_lo]));
#else
@@ -1758,5 +1758,5 @@
break;
case Op_VecX:
-#ifndef LP64
+#ifndef _LP64
__ movdqu(as_XMMRegister(Matcher::_regEncode[reg]), Address(rsp, stack_offset));
#else
@@ -1770,5 +1770,5 @@
break;
case Op_VecY:
-#ifndef LP64
+#ifndef _LP64
__ vmovdqu(as_XMMRegister(Matcher::_regEncode[reg]), Address(rsp, stack_offset));
#else
@@ -1796,5 +1796,5 @@
break;
case Op_VecX:
-#ifndef LP64
+#ifndef _LP64
__ movdqu(Address(rsp, stack_offset), as_XMMRegister(Matcher::_regEncode[reg]));
#else
@@ -1808,5 +1808,5 @@
break;
case Op_VecY:
-#ifndef LP64
+#ifndef _LP64
__ vmovdqu(Address(rsp, stack_offset), as_XMMRegister(Matcher::_regEncode[reg]));
#else
...then the build starts to fail on Linux x86_64 with:
/home/shade/trunks/jdk-jdk/src/hotspot/cpu/x86/assembler_x86.hpp:2135:8: note: candidate expects 3 arguments, 4 provided
/home/shade/trunks/jdk-jdk/src/hotspot/cpu/x86/assembler_x86.hpp:2136:8: note: candidate: void Assembler::vextracti32x4(Address, XMMRegister, uint8_t)
void vextracti32x4(Address dst, XMMRegister src, uint8_t imm8);
^~~~~~~~~~~~~
/home/shade/trunks/jdk-jdk/src/hotspot/cpu/x86/assembler_x86.hpp:2136:8: note: candidate expects 3 arguments, 4 provided
/home/shade/trunks/jdk-jdk/src/hotspot/cpu/x86/x86.ad:1817:143: error: no matching function for call to 'MacroAssembler::vextracti64x4(Address, XMMRegister, XMMRegister, int)'
__ vextracti64x4(Address(rsp, stack_offset), as_XMMRegister(Matcher::_regEncode[reg]), as_XMMRegister(Matcher::_regEncode[reg]), 0x0);
^
There is no 4-argument vextracti64x4 to be seen, indeed.
So, not only the LP64 is not taken, it does not even compile.