Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-22 Thread Xiaohong Gong
On Fri, 29 Jul 2022 03:55:54 GMT, Xiaohong Gong wrote: > Vector API binary op "`FIRST_NONZERO`" represents the vector operation of "`a > != 0 ? a : b`", which can be implemented with existing APIs like "`compare + > blend`". The current implementation is more complex especially for the >

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-22 Thread Paul Sandoz
On Fri, 29 Jul 2022 03:55:54 GMT, Xiaohong Gong wrote: > Vector API binary op "`FIRST_NONZERO`" represents the vector operation of "`a > != 0 ? a : b`", which can be implemented with existing APIs like "`compare + > blend`". The current implementation is more complex especially for the >

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-21 Thread Xiaohong Gong
On Wed, 17 Aug 2022 15:16:24 GMT, Paul Sandoz wrote: >>> Looks good. >> >> Thanks for looking at this patch @PaulSandoz ! >> >>> Much better to flip the operation and the receiver + first arg to the blend. >> >> I'm not quite understand what the flip operation here mean. The current code >>

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-17 Thread Xiaohong Gong
On Wed, 17 Aug 2022 15:16:24 GMT, Paul Sandoz wrote: > > > Much better to flip the operation and the receiver + first arg to the > > > blend. > > > > > > I'm not quite understand what the flip operation here mean. The current > > code is simple enough to me. Could you please show more

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-17 Thread Paul Sandoz
On Wed, 17 Aug 2022 09:48:29 GMT, Xiaohong Gong wrote: > > Much better to flip the operation and the receiver + first arg to the blend. > > I'm not quite understand what the flip operation here mean. The current code > is simple enough to me. Could you please show more details? Thanks a lot!

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-17 Thread Xiaohong Gong
On Mon, 15 Aug 2022 16:17:35 GMT, Paul Sandoz wrote: > Looks good. Thanks for looking at this patch @PaulSandoz ! > Much better to flip the operation and the receiver + first arg to the blend. I'm not quite understand what the flip operation here mean. The current code is simple enough to

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-15 Thread Paul Sandoz
On Fri, 29 Jul 2022 03:55:54 GMT, Xiaohong Gong wrote: > Vector API binary op "`FIRST_NONZERO`" represents the vector operation of "`a > != 0 ? a : b`", which can be implemented with existing APIs like "`compare + > blend`". The current implementation is more complex especially for the >

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-15 Thread Paul Sandoz
On Mon, 15 Aug 2022 01:10:54 GMT, Xiaohong Gong wrote: >> Vector API binary op "`FIRST_NONZERO`" represents the vector operation of >> "`a != 0 ? a : b`", which can be implemented with existing APIs like >> "`compare + blend`". The current implementation is more complex especially >> for the

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-14 Thread Xiaohong Gong
On Fri, 29 Jul 2022 03:55:54 GMT, Xiaohong Gong wrote: > Vector API binary op "`FIRST_NONZERO`" represents the vector operation of "`a > != 0 ? a : b`", which can be implemented with existing APIs like "`compare + > blend`". The current implementation is more complex especially for the >

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-14 Thread Xiaohong Gong
On Thu, 4 Aug 2022 02:00:39 GMT, Eric Liu wrote: >> Vector API binary op "`FIRST_NONZERO`" represents the vector operation of >> "`a != 0 ? a : b`", which can be implemented with existing APIs like >> "`compare + blend`". The current implementation is more complex especially >> for the

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-03 Thread Eric Liu
On Fri, 29 Jul 2022 03:55:54 GMT, Xiaohong Gong wrote: > Vector API binary op "`FIRST_NONZERO`" represents the vector operation of "`a > != 0 ? a : b`", which can be implemented with existing APIs like "`compare + > blend`". The current implementation is more complex especially for the >

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-03 Thread Xiaohong Gong
On Fri, 29 Jul 2022 03:55:54 GMT, Xiaohong Gong wrote: > Vector API binary op "`FIRST_NONZERO`" represents the vector operation of "`a > != 0 ? a : b`", which can be implemented with existing APIs like "`compare + > blend`". The current implementation is more complex especially for the >

Re: RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-08-02 Thread Xiaohong Gong
On Fri, 29 Jul 2022 03:55:54 GMT, Xiaohong Gong wrote: > Vector API binary op "`FIRST_NONZERO`" represents the vector operation of "`a > != 0 ? a : b`", which can be implemented with existing APIs like "`compare + > blend`". The current implementation is more complex especially for the >

RFR: 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO

2022-07-28 Thread Xiaohong Gong
Vector API binary op "`FIRST_NONZERO`" represents the vector operation of "`a != 0 ? a : b`", which can be implemented with existing APIs like "`compare + blend`". The current implementation is more complex especially for the floating point type vectors. The main idea is: 1) mask =