Unable to compile Vectors with REAL_PRECISION = 4

Issue #750 closed
Barry Wardell created an issue

When I try to compile the Vectors thorn with the REAL_PRECISION = 4 option, I get lots of errors when compiling test.cc:

test.cc: In function 'void Vectors_Test(cGH*)':
test.cc:130:28: error: 'vec4_store' was not declared in this scope
test.cc:132:32: error: 'vec4_store_nta' was not declared in this scope
test.cc:144:46: error: 'vec4_store_partial_prepare' was not declared in this scope
test.cc:145:39: error: 'vec4_store_nta_partial' was not declared in this scope
test.cc:158:14: error: assignment of read-only location '* & p'
test.cc:158:14: error: '_mm_storel_ps' was not declared in this scope
test.cc:158:14: error: assignment of read-only location '*((& p) + 8u)'
test.cc:163:14: error: assignment of read-only location '*((& p) + 12u)'
test.cc:163:14: error: '_mm_storeh_ps' was not declared in this scope
test.cc:163:14: error: assignment of read-only location '*((& p) + 4u)'
test.cc:169:58: error: 'vec4_store_nta_partial_mid' was not declared in this scope
test.cc:188:3: error: 'k4cos' was not declared in this scope
test.cc:196:3: error: 'k4sin' was not declared in this scope
test.cc:198:3: error: 'k4tan' was not declared in this scope
test.cc:200:3: error: cannot convert 'const __m128 {aka const __vector(4) float}' to '__m128i {aka __vector(2) long long int}' for argument '1' to '__m128i _mm_srai_epi32(__m128i, int)'
test.cc:202:3: error: cannot convert 'const __m128 {aka const __vector(4) float}' to '__m128i {aka __vector(2) long long int}' for argument '1' to '__m128i _mm_srai_epi32(__m128i, int)'
test.cc:204:3: error: cannot convert 'const __m128 {aka const __vector(4) float}' to '__m128i {aka __vector(2) long long int}' for argument '1' to '__m128i _mm_srai_epi32(__m128i, int)'
test.cc:205:3: error: cannot convert 'const __m128 {aka const __vector(4) float}' to '__m128i {aka __vector(2) long long int}' for argument '1' to '__m128i _mm_srai_epi32(__m128i, int)'
test.cc:207:3: error: cannot convert 'const __m128 {aka const __vector(4) float}' to '__m128i {aka __vector(2) long long int}' for argument '1' to '__m128i _mm_srai_epi32(__m128i, int)'
test.cc:209:3: error: cannot convert 'const __m128 {aka const __vector(4) float}' to '__m128i {aka __vector(2) long long int}' for argument '1' to '__m128i _mm_srai_epi32(__m128i, int)'
test.cc:211:3: error: cannot convert 'const __m128 {aka const __vector(4) float}' to '__m128i {aka __vector(2) long long int}' for argument '1' to '__m128i _mm_srai_epi32(__m128i, int)'
test.cc:212:3: error: cannot convert 'const __m128 {aka const __vector(4) float}' to '__m128i {aka __vector(2) long long int}' for argument '1' to '__m128i _mm_srai_epi32(__m128i, int)'

These are mostly a result of missing definitions in vectors-4-SSE.h which should be added.

Keyword:

Comments (2)

  1. Log in to comment