This is the mail archive of the gcc-bugs@gcc.gnu.org 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]

Trouble running GCC compiled program using XOP intrinsic instructions?


Hi,

I'm getting a seg-fault running this code.

#include <emmintrin.h>
#include <x86intrin.h>
#include <stdio.h>
#include <stdint.h>

void print_2_64_bit_ints(const char * label, __m128i m64_r)
{
    int *val = (int *) &m64_r;
    printf("%s: %d %d\n", label, val[0], val[1]);
}
int main()
{
    __m128i HADDQinput = _mm_set_epi8(4, 3, 2, 1, 8, 7, 5, 3, 7, 6, 5, 4, 9,
0, 3, 3);
    //__m128i RESULT = _mm_haddq_epi8(HADDQinput);
    //_mm_empty();

    //print_2_64_bit_ints("Result ", RESULT);

    return 0;
}

The GCC compiler flags used are -msse3 -msse4 -mxop -mavx and I'm compiling
this with GCC-TDM 4.7.1-2.

If I run the code through GDB it gets up to this line

__m128i HADDQinput = _mm_set_epi8(4, 3, 2, 1, 8, 7, 5, 3, 7, 6, 5, 4, 9, 0,
3, 3);

and it crashes on line 603 in emmintrin.h. I also noticed that this only
occurs if the header x86intrin.h is included otherwise the program exits
fine. I'm using an AMD-8150 FX (Bulldozer) processor with these instructions
available according to CPU-Z (CPUID)

MMX(+), SSE(1,2,3,3S,4.1,4.2,4A), x86-64, AMD-V, AES,AVX,XOP

Someone told me that the fault occurs due to an Intel instruction 'vmovd
xmm0..' using WinDbg.

thanks,

Andrew




--
View this message in context: http://gcc.1065356.n5.nabble.com/Trouble-running-GCC-compiled-program-using-XOP-intrinsic-instructions-tp952132.html
Sent from the gcc - bugs mailing list archive at Nabble.com.


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