[vectorIntrinsics] RFR: 8261108: Add cast nodes from integer types to float types implementation for Arm SVE [v2]

Wang Huang whuang at openjdk.java.net
Fri Feb 19 09:47:48 UTC 2021


On Fri, 19 Feb 2021 08:46:22 GMT, Wang Huang <whuang at openjdk.org> wrote:

>> src/hotspot/cpu/aarch64/assembler_aarch64.hpp line 3371:
>> 
>>> 3369:     } else if (T_dst == D && T_src == S) {
>>> 3370:       T_dst = D;
>>> 3371:       T_src = B;
>> 
>> This looks confusing. I understand that it's just 0b00, but using B here is really confusing. Maybe using 0b00 and 0b11 directly to align with Arm ARM opc/opc2?
>
> Arm uses confusing encoding . If we use 0b00 / 0b11 ,  we can not get a concise macroassmbler here ( for example. other developers can not use this macro). In fact, `gcc` uses switch..case to convert macro assmbler into Arm's funny encoding.

If we use an `encoding function `(like `switch..case` in `gcc`) instead of `convert function`(`encode_cvtf_T`),  source codes here will be a little complicated. :-)

-------------

PR: https://git.openjdk.java.net/panama-vector/pull/37


More information about the panama-dev mailing list