This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

TImode ?inhibited? in main 3.1 branch

hi folks,
sure I'm missing something, but I'm wondering why gcc/gcc/c-common.c has
this kind of conditionals:

  if (mode == TYPE_MODE (intTI_type_node))
    return unsignedp ? unsigned_intTI_type_node : intTI_type_node;

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")
  "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..


______/ Rossetti Davide   INFN - Roma I - APE group \______________
 pho +390649914412     web:
 fax +390649914423   email:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]