Can not built latest vectorIntrinsic on Windows (Was: Testing Vector API; which branch to build?)

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Thu Jan 28 12:56:45 UTC 2021


On 2021-01-27 23:25, Lev Serebryakov wrote:
> On 27.01.2021 19:34, Paul Sandoz wrote:
>
>  Looks like command line for ml.exe (MS' assembler) is wrong:
>
> /cygdrive/c/home/ref/panama-vector/build/windows-x86_64-server-release/fixpath 
> exec \
> /cygdrive/c/progra~2/micros~2/2019/commun~1/vc/tools/msvc/1428~1.293/bin/hostx86/x86/ml.exe 
> \
> -Fo/cygdrive/c/home/ref/panama-vector/build/windows-x86_64-server-release/hotspot/variant-server/libjvm/objs/svml_d_acos_windows_x86.obj 
> \
>   /Ta 
> /cygdrive/c/home/ref/panama-vector/src/hotspot/os_cpu/windows_x86/svml_d_acos_windows_x86.s
>
> /Ta is "trust this source, even if extension is not asm"
>
> -Fo is "output object file", but it should be "/Fo", really and there 
> should be /c after it ("assemble only, don't link")...

Actually, the microsoft tools will accept - as well as / as prefix. We 
have consistently used - instead of /, since it lowers the risk of 
parsing conflicts between options and paths written in unix style. So 
-Fo is not incorrect, and it is in fact preferred. Correspondingly, the 
other flags should be "-c" and "-Ta".

> Also, "ml.exe" is 32-bit assembelr with 32-bit output. ml64.exe is 
> needed here (as Win32 32 bit is not supported by JDK anymore).

Actually, some folks still build this, and while it is not regularly 
tested, we always get patches when things break, so I'd hate to break it 
knowingly.

So ml64.exe cannot generate code for 32-bit output, and ml64.exe cannot 
generate code for 64-bit output? But both commands will be present on a 
64-bit system?

>
>  Ok, I found solution (by searching for "/Ta"). Patch attached.
>
>  This is not full solution, it doesn't hide ML's output (banner & all 
> this), 

I think the proper solution is to add "-nologo" to ASFLAGS in configure.

Assembly on Windows has gotten very little attention, due to the simple 
fact that we have not had any assembly code needed on Windows before. 
:-) (Or if we had, it was long time ago, and has bit-rotted heavily.)

I look at the code and realize it might need some cleanup. I assume I 
can open a PR on the panama-vector repo?

/Magnus


More information about the panama-dev mailing list