9 ms·
It's 3 cycles for float multiplication (and 1 for shift right): https://uops.info/table.html?search=mulss&cb_lat=on&cb_tp=on&cb_uops=on&cb_ports=on&cb_ARLP=on&
by exyi 4mo ago
It's 3 cycles for float multiplication (and 1 for shift right):
https://uops.info/table.html?search=mulss&cb_lat=on&cb_tp=on&cb_uops=on&cb_ports=on&cb_ARLP=on&cb_ARLE=on&cb_ZEN5=on&cb_measurements=on&cb_doc=on&cb_base=on&cb_avx=on&cb_avx2=on&cb_sse=on https://uops.info/table.html?search=mulss&cb_lat=on&cb_tp=on...
https://uops.info/table.html?search=shr&cb_lat=on&cb_tp=on&cb_uops=on&cb_ports=on&cb_ARLP=on&cb_ARLE=on&cb_ZEN5=on&cb_measurements=on&cb_doc=on&cb_base=on https://uops.info/table.html?search=shr&cb_lat=on&cb_tp=on&c...
In throughput it's even less of a difference: 2 per cycle vs 3 per cycle.
- userbinator 4mo agoIt's 3 cycles for float multiplication (and 1 for shift right): 3x faster In throughput it's even less of a difference: 2 per cycle vs 3 per cycle. 50% faster
- account42 4mo agoShift right isn't even relevant here - if you shift before conversion to float all your values end up 0 and if you want to divide afterwards its no longer a simple shift.
- exyi 4mo agoExactly. Although if you do >> 8 while working with uint8, it will be the fastest :)