Need help running XOP C intrinsics code on AMD Zambezi/Bulldozer?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

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

<http://gcc.1065356.n5.nabble.com/file/n952620/bulldozer_8150_FX_cpu_z.png> 


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/Need-help-running-XOP-C-intrinsics-code-on-AMD-Zambezi-Bulldozer-tp952620.html
Sent from the gcc - Help mailing list archive at Nabble.com.




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux