Nov 25, 2010 22:20
итак, товарищи программисты, кто-то вплотную с SSE/SSE2 работал?
а из gcc?
задача - заставить gcc генерировать с -O3 -msse2 тот ассемблерный код, который я хочу, но без написания собственно ассемблерного кода :) в части случаев все отлично получается, а вот в части я не понимаю, ка кего заставить генеировать то, что мне надо.
it
Leave a comment
Comments 9
Reply
упрощенно -- есть
uint16_t a,b,c;
c = ((uint32_t)a*b) >> 16;
как записать это в векторной форме - я знаю.
собственно вопрос -- а как заставить компилятор сгенерировать pmulhw ?
другой вопрос - это как сделать операцию <<,>> на векторе?? в документации написано, что оно это умеет (vector << int), но компилятор на такую конструкцию ругается ;)
то, что можно писать intristics - я знаю, но я не хочу писать фактически cpu-зависимый код :)
я хочу C-шный код, который на intel/amd платформе будет кторываться в то, что мне нужно :) при включенной оптимизации :)
Reply
Reply
ааа. сдвиг он у меня сделал в простом примере и отказывается в сложном - пойму/исправлю. скорее всего кастинг где-то хромает :)
но вот более сложные команды - совершенно непонятно как заставлять генерировать ;)
Reply
Reply
потому что forte оптимизирует реально. может и это умеет.
Reply
Reply
Leave a comment