diff options
-rw-r--r-- | compute_ref.axf | bin | 3175368 -> 3039216 bytes | |||
-rwxr-xr-x | compute_ref.gccarm | bin | 3967245 -> 3967293 bytes | |||
-rw-r--r-- | compute_ref.gccarm-rvct | bin | 4438112 -> 4436200 bytes | |||
-rw-r--r-- | ref_vget_lane.c | 8 |
4 files changed, 7 insertions, 1 deletions
diff --git a/compute_ref.axf b/compute_ref.axf Binary files differindex c1e139e..f195b9f 100644 --- a/compute_ref.axf +++ b/compute_ref.axf diff --git a/compute_ref.gccarm b/compute_ref.gccarm Binary files differindex 61a18d8..72d22a9 100755 --- a/compute_ref.gccarm +++ b/compute_ref.gccarm diff --git a/compute_ref.gccarm-rvct b/compute_ref.gccarm-rvct Binary files differindex 3587a97..5aa78f3 100644 --- a/compute_ref.gccarm-rvct +++ b/compute_ref.gccarm-rvct diff --git a/ref_vget_lane.c b/ref_vget_lane.c index ad3ae95..a1ab6a9 100644 --- a/ref_vget_lane.c +++ b/ref_vget_lane.c @@ -40,10 +40,16 @@ void exec_vget_lane (void) fprintf(ref_file, "%" PRIx##W ", ", VAR(var, T1, W)) /* Special variant for floating-point */ + union { + uint32_t var_int32; + float var_float32; + } var_int32_float32; + #define TEST_VGET_LANE_F(Q, T1, T2, W, N, L) \ VAR(var, T1, W) = vget##Q##_lane_##T2##W(VECT_VAR(vector, T1, W, N), L); \ vst1##Q##_##T2##W(VECT_VAR(result, T1, W, N), VECT_VAR(vector, T1, W, N)); \ - fprintf(ref_file, "%" PRIx##W ", ", *((uint##W##_t*)&VAR(var, T1, W))) + var_int##W##_float##W.var_float##W = VAR(var, T1, W); \ + fprintf(ref_file, "%" PRIx##W ", ", var_int##W##_float##W.var_int##W) /* With ARM RVCT, we need to declare variables before any executable statement */ |