This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
TImode ?inhibited? in main 3.1 branch
- From: "davide.rossetti" <rossetti at roma1 dot infn dot it>
- To: <gcc at gcc dot gnu dot org>
- Date: Fri, 30 Nov 2001 21:30:27 +0100 (CET)
- Subject: TImode ?inhibited? in main 3.1 branch
- Reply-to: <davide dot rossetti at roma1 dot infn dot it>
hi folks,
sure I'm missing something, but I'm wondering why gcc/gcc/c-common.c has
this kind of conditionals:
#if HOST_BITS_PER_WIDE_INT >= 64
if (mode == TYPE_MODE (intTI_type_node))
return unsignedp ? unsigned_intTI_type_node : intTI_type_node;
#endif
it ends up being excluded in my build on PIII, so that I can't use
typedef int __m128 __attribute__ ((mode (TI)));
...
register __v4sf a,b,c;
register __v4si d;
__m128 e,f,g;
...
g = __builtin_ia32_andps((__m128)d,(__m128)a);
...
bacause bitwise SSE stuff is marked with TImode args:
(define_insn "*sse_andti3_sf_1"
[(set (subreg:TI (match_operand:SF 0 "register_operand" "=x") 0)
(and:TI (subreg:TI (match_operand:SF 1 "register_operand" "%0") 0)
(subreg:TI (match_operand:SF 2 "register_operand" "x")
0)))]
"TARGET_SSE"
"andps\t{%2, %0|%0, %2}"
[(set_attr "type" "sse")])
so the point is, PIII is somewhat exceptional in having this 128 bit
stuff even being 32bit, but ... as it is, SSE support seems (very
cautious :) partly unusable..
ciao
--
______/ Rossetti Davide INFN - Roma I - APE group \______________
pho +390649914412 web: http://apegate.roma1.infn.it/~rossetti
fax +390649914423 email: davide.rossetti@roma1.infn.it