Skip to main content
12 events
when toggle format what by license comment
Sep 9, 2017 at 6:31 comment added J_H Cool! You asked "How should we obtain a VSX value of zero?" I suggest that is perhaps on the vague side, that you wanted to ask more directly "which is faster?" (or more portable, or, I don't know what you value most). Ummm, you could bench them and just picker the faster of the two, yes?
Sep 9, 2017 at 6:21 comment added user53032 Thanks again @J.H. We moved the question to Stack Overflow at How to obtain a VSX value of zero? A few of the IBM guys hang there.
Sep 9, 2017 at 5:47 history edited J_H CC BY-SA 3.0
added 3 characters in body
Sep 9, 2017 at 5:41 history edited J_H CC BY-SA 3.0
added 1173 characters in body
Sep 9, 2017 at 5:32 history edited J_H CC BY-SA 3.0
added 1173 characters in body
Sep 9, 2017 at 5:26 history edited J_H CC BY-SA 3.0
added 1173 characters in body
Sep 9, 2017 at 5:21 comment added J_H No, that is not my expertise, I defer to your judgement. XOR(m, m) sounds like a perfectly sensible way to get zero. I especially defer to benchmark results that show it offers improved timings!
Sep 9, 2017 at 5:19 comment added user53032 Would you happen to if uint8x16_p8 zero = vec_ld(0, z); can be improved? I tried to find a vec_zero() or similar, but I could not find it. Looking at the disassembles, I'm concerned an extra load may be occurring. I'm thinking of changing it to uint8x16_p8 zero = vec_xor(mask, mask);.
Sep 9, 2017 at 5:14 comment added J_H Sigh! I'm sorry for you and your colleagues. I feel your pain. No, sometimes the dev environment is just a fixed setup, and there's little to be done about it. :-( Umm, let me cheat, maybe I can change the rules. Consider Gnu autoconfig. Do we get to run a test program that outputs a custom .h file?
Sep 9, 2017 at 5:12 history edited J_H CC BY-SA 3.0
added 1173 characters in body
Sep 9, 2017 at 5:11 comment added user53032 Thanks J.H. Regarding "Avoid 0 == 0 when BYTE_ORDER is not defined", XL C/C++ on Linux does not define customary macros. xlc -qarch=pwr8 -qaltivec test-p8.c -qshowmacros -E /dev/null | grep -i endian returns 0 hits. GCC defines them, and XL C/C++ on AIX defines them. I know its dodgy. Do you have a suggestion for handling it?
Sep 9, 2017 at 4:56 history answered J_H CC BY-SA 3.0