[aarch64-port-dev ] RFR(S): 8241475: AArch64: Add missing support for PopCountVI node
    Pengfei Li 
    Pengfei.Li at arm.com
       
    Wed Apr  1 02:05:04 UTC 2020
    
    
  
Hi Andrew,
Thanks for review.
>    INSN(absr,   0, 0b100000101110, 1); // accepted arrangements: T8B, T16B,
> T4H, T8H,      T4S
> -  INSN(negr,   1, 0b100000101110, 2); // accepted arrangements: T8B, T16B,
> T4H, T8H, T2S, T4S, T2D
> 
> is actually related to some other work you are doing?
This change is related to
-    if (accepted < 2) guarantee(T != T2S && T != T2D, "incorrect arrangement");         \
-    if (accepted == 0) guarantee(T == T8B || T == T16B, "incorrect arrangement");       \
+    if (accepted < 3) guarantee(T != T2D, "incorrect arrangement");                     \
+    if (accepted < 2) guarantee(T != T2S, "incorrect arrangement");                     \
+    if (accepted < 1) guarantee(T == T8B || T == T16B, "incorrect arrangement");        \
Before my patch, the candidate values of "accepted" are 0, 1 and 2 meaning different accepted arrangements as below:
0 - Only T8B and T16B are accepted
1 - All arrangements but T2S and T2D are accepted
2 - All arrangements are accepted
In my patch, the newly added instruction UADDLP supports T2S but doesn't support T2D. So I changed the value range to 0 - 3, where 3 means all arrangements are accepted now. That's why the value for parameter "accepted" of NEGR is promoted from 2 to 3 now.
--
Thanks,
Pengfei
    
    
More information about the aarch64-port-dev
mailing list