Compiler intrinsics supported and/or namespace issue?

Jul 24, 2009 at 8:30 PM

Hey there,

When I tried to use some data types such as __m128, where intrinsics are needed, I came across some problems. Although I do not touch any intrinsic functions yet in the code below, I get errors like

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xmmintrin.h(62,26) : error VC0041: The type or namespace name 'intrin_typeAttribute' could not be found (are you missing a using directive or an assembly reference?)

which has its origin int the definition of __m128:

typedef union __declspec(intrin_type) _CRT_ALIGN(16) __m128 { ... }

(my first idea was to simply remove "__declspec(intrin_type)", and to rewrite some code - and it all went down the drain... eventually forcing me to rewrite intrinsic functions, which I'm of course not allowed to)

So, I would like to ask you, if

  1. VCC just has some namespace problem here, and/or
  2. are instrinsics supported / will instrinsics be supported in the future?


ps: I do not have access to the HyperV code :-) so I could not check if VCC would be required to eventually use intrinsics (of my kind). A quick scan of the BabyV version that I have access to did not help me so far.





#include <vcc.h>
#include <limits.h>
#include <xmmintrin.h>

int main()
    __m128 m;
    __int64 lg = UINT_MAX;
    // set some initial values
    m.m128_u32[0] = 10;
    m.m128_u32[1] = 1;
    m.m128_u32[2] = 0;
    m.m128_u32[3] = 0;

    // interpret first 64 bits as uint64
    assert(lg + 11 == m.m128_u64[0]);
    /* should hold, because
    m.m128_u64[0] = (UINT_MAX+1)+10 */



Jul 29, 2009 at 12:17 PM

We currently don't support intrinsic types and don't need to for the Hyper-V verification.


Jul 31, 2009 at 8:06 PM

Thanks, good to know.