diff options
author | Christophe Lyon <christophe.lyon@st.com> | 2013-03-29 16:26:42 +0100 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@st.com> | 2013-03-29 17:38:14 +0100 |
commit | 80902f6bfb82ca1a0b17604602a47baf314b7876 (patch) | |
tree | 125400d554db9416c9a72c94bcd2adde818e7251 /ref_vuzp.c | |
parent | f4747d560105af9d837852e335d4fa6b263cea90 (diff) | |
download | platform_external_arm-neon-tests-80902f6bfb82ca1a0b17604602a47baf314b7876.tar.gz platform_external_arm-neon-tests-80902f6bfb82ca1a0b17604602a47baf314b7876.tar.bz2 platform_external_arm-neon-tests-80902f6bfb82ca1a0b17604602a47baf314b7876.zip |
Add support for polynomial variants (*_p8, *_p16).
Diffstat (limited to 'ref_vuzp.c')
-rw-r--r-- | ref_vuzp.c | 18 |
1 files changed, 17 insertions, 1 deletions
@@ -1,6 +1,6 @@ /* -Copyright (c) 2009, 2010, 2011 STMicroelectronics +Copyright (c) 2009, 2010, 2011, 2013 STMicroelectronics Written by Christophe Lyon Permission is hereby granted, free of charge, to any person obtaining a copy @@ -79,6 +79,8 @@ FNNAME (INSN_NAME) DECL_VUZP(uint, 8, 8); \ DECL_VUZP(uint, 16, 4); \ DECL_VUZP(uint, 32, 2); \ + DECL_VUZP(poly, 8, 8); \ + DECL_VUZP(poly, 16, 4); \ DECL_VUZP(float, 32, 2); \ DECL_VUZP(int, 8, 16); \ DECL_VUZP(int, 16, 8); \ @@ -86,6 +88,8 @@ FNNAME (INSN_NAME) DECL_VUZP(uint, 8, 16); \ DECL_VUZP(uint, 16, 8); \ DECL_VUZP(uint, 32, 4); \ + DECL_VUZP(poly, 8, 16); \ + DECL_VUZP(poly, 16, 8); \ DECL_VUZP(float, 32, 4) DECL_ALL_VUZP(); @@ -102,6 +106,8 @@ FNNAME (INSN_NAME) TEST_VDUP(vector2, , uint, u, 8, 8, 0x55); TEST_VDUP(vector2, , uint, u, 16, 4, 0x66); TEST_VDUP(vector2, , uint, u, 32, 2, 0x77); + TEST_VDUP(vector2, , poly, p, 8, 8, 0x55); + TEST_VDUP(vector2, , poly, p, 16, 4, 0x66); TEST_VDUP(vector2, , float, f, 32, 2, 33.6f); TEST_VDUP(vector2, q, int, s, 8, 16, 0x11); @@ -110,6 +116,8 @@ FNNAME (INSN_NAME) TEST_VDUP(vector2, q, uint, u, 8, 16, 0x55); TEST_VDUP(vector2, q, uint, u, 16, 8, 0x66); TEST_VDUP(vector2, q, uint, u, 32, 4, 0x77); + TEST_VDUP(vector2, q, poly, p, 8, 16, 0x55); + TEST_VDUP(vector2, q, poly, p, 16, 8, 0x66); TEST_VDUP(vector2, q, float, f, 32, 4, 33.8f); #define TEST_ALL_VUZP(INSN) \ @@ -119,6 +127,8 @@ FNNAME (INSN_NAME) TEST_VUZP(INSN, , uint, u, 8, 8); \ TEST_VUZP(INSN, , uint, u, 16, 4); \ TEST_VUZP(INSN, , uint, u, 32, 2); \ + TEST_VUZP(INSN, , poly, p, 8, 8); \ + TEST_VUZP(INSN, , poly, p, 16, 4); \ TEST_VUZP(INSN, , float, f, 32, 2); \ TEST_VUZP(INSN, q, int, s, 8, 16); \ TEST_VUZP(INSN, q, int, s, 16, 8); \ @@ -126,6 +136,8 @@ FNNAME (INSN_NAME) TEST_VUZP(INSN, q, uint, u, 8, 16); \ TEST_VUZP(INSN, q, uint, u, 16, 8); \ TEST_VUZP(INSN, q, uint, u, 32, 4); \ + TEST_VUZP(INSN, q, poly, p, 8, 16); \ + TEST_VUZP(INSN, q, poly, p, 16, 8); \ TEST_VUZP(INSN, q, float, f, 32, 4) #define TEST_ALL_EXTRA_CHUNKS() \ @@ -135,6 +147,8 @@ FNNAME (INSN_NAME) TEST_EXTRA_CHUNK(uint, 8, 8, 1); \ TEST_EXTRA_CHUNK(uint, 16, 4, 1); \ TEST_EXTRA_CHUNK(uint, 32, 2, 1); \ + TEST_EXTRA_CHUNK(poly, 8, 8, 1); \ + TEST_EXTRA_CHUNK(poly, 16, 4, 1); \ TEST_EXTRA_CHUNK(float, 32, 2, 1); \ TEST_EXTRA_CHUNK(int, 8, 16, 1); \ TEST_EXTRA_CHUNK(int, 16, 8, 1); \ @@ -142,6 +156,8 @@ FNNAME (INSN_NAME) TEST_EXTRA_CHUNK(uint, 8, 16, 1); \ TEST_EXTRA_CHUNK(uint, 16, 8, 1); \ TEST_EXTRA_CHUNK(uint, 32, 4, 1); \ + TEST_EXTRA_CHUNK(poly, 8, 16, 1); \ + TEST_EXTRA_CHUNK(poly, 16, 8, 1); \ TEST_EXTRA_CHUNK(float, 32, 4, 1) /* Check vuzp/vuzpq */ |