Hi Robin,

On 2023/8/24 17:59, Robin Dapp wrote:
Hi Lehua,

thanks, just tiny non-functional nits.

-  rtx ops[] = {operands[0], quarter};
-  icode = code_for_pred_trunc (<V_QUAD_TRUNC>mode);
-  riscv_vector::emit_vlmax_insn (icode, riscv_vector::RVV_UNOP, ops);
+  rtx half = gen_reg_rtx (<V_QUAD_TRUNC>mode);

Not really a half anymore now? :)

Yes, it's better to call it one_quad.


+#include <stdint.h>
+
+#define DEF_LOOP(OLD_TYPE, NEW_TYPE)                                           
\
+  void __attribute__ ((noipa))                                                 
\
+  test_##OLD_TYPE##_2_##NEW_TYPE (NEW_TYPE *__restrict r,                      
\
+                                 OLD_TYPE *__restrict a,                      \
+                                 NEW_TYPE *__restrict b,                      \
+                                 OLD_TYPE *__restrict pred, int n)            \
+  {                                                                            
\
+    for (int i = 0; i < n; ++i)                                                
\
+      {                                                                        
\
+       NEW_TYPE bi = b[i];                                                    \

Is this necessary for recognizing a different pattern?

Are you saying that the testcases xxx-1 and xxx-2 are duplicated? If so, I have no problem removing it and just keeping xxx-1 testcase since it is still possible to cover my code.


+/* wider-width Integer Type => Integer Type */

Isn't it the other way around or am I just confused?

Yes, I changed it to the following which might be better understood:
  /* INT -> wider-INT */


+/* narrower-width Integer Type => Integer Type */
+#define TEST_ALL_X2X_NARROWER(T)                                               
\
+  T (uint16_t, uint8_t)                                                        
\

Same here.

Regards
  Robin



--
Best,
Lehua

Reply via email to