diff options
author | Christophe Lyon <christophe.lyon@st.com> | 2011-09-27 10:56:29 +0200 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@st.com> | 2011-09-27 10:56:29 +0200 |
commit | ea4dee8229d8870874c136ce85183e0c9b55a69f (patch) | |
tree | 20573e1411b9f6b74275f0a34f02196d108b169c | |
parent | c8aa0f690d4febd69842708d468673b7f2c99c25 (diff) | |
download | platform_external_arm-neon-tests-ea4dee8229d8870874c136ce85183e0c9b55a69f.tar.gz platform_external_arm-neon-tests-ea4dee8229d8870874c136ce85183e0c9b55a69f.tar.bz2 platform_external_arm-neon-tests-ea4dee8229d8870874c136ce85183e0c9b55a69f.zip |
Update expected results
-rw-r--r-- | ref-rvct.txt | 253 |
1 files changed, 252 insertions, 1 deletions
diff --git a/ref-rvct.txt b/ref-rvct.txt index 7b8d35f..8c3f254 100644 --- a/ref-rvct.txt +++ b/ref-rvct.txt @@ -1152,6 +1152,11 @@ VCEQ/VCEQQ:13:result_uint32x4 [] = { 0, 0, ffffffff, 0, } VCEQ/VCEQQ:14:result_uint32x2 [] = { ffffffff, 0, } VCEQ/VCEQQ:15:result_uint32x2 [] = { 0, ffffffff, } VCEQ/VCEQQ:16:result_uint32x2 [] = { ffffffff, 0, } +VCEQ/VCEQQ FP special (NAN):17:result_uint32x2 [] = { 0, 0, } +VCEQ/VCEQQ FP special (NAN):18:result_uint32x2 [] = { 0, 0, } +VCEQ/VCEQQ FP special (inf):19:result_uint32x2 [] = { 0, 0, } +VCEQ/VCEQQ FP special (inf):20:result_uint32x2 [] = { 0, 0, } +VCEQ/VCEQQ FP special (-0.0):21:result_uint32x2 [] = { ffffffff, ffffffff, } VCGE/VCGEQ output: VCGE/VCGEQ:0:result_uint8x8 [] = { 0, 0, 0, 0, 0, 0, ff, ff, } @@ -1171,6 +1176,11 @@ VCGE/VCGEQ:13:result_uint32x4 [] = { 0, 0, ffffffff, ffffffff, } VCGE/VCGEQ:14:result_uint32x2 [] = { ffffffff, ffffffff, } VCGE/VCGEQ:15:result_uint32x2 [] = { 0, ffffffff, } VCGE/VCGEQ:16:result_uint32x2 [] = { ffffffff, ffffffff, } +VCGE/VCGEQ FP special (NAN):17:result_uint32x2 [] = { 0, 0, } +VCGE/VCGEQ FP special (NAN):18:result_uint32x2 [] = { 0, 0, } +VCGE/VCGEQ FP special (inf):19:result_uint32x2 [] = { 0, 0, } +VCGE/VCGEQ FP special (inf):20:result_uint32x2 [] = { ffffffff, ffffffff, } +VCGE/VCGEQ FP special (-0.0):21:result_uint32x2 [] = { ffffffff, ffffffff, } VCLE/VCLEQ output: VCLE/VCLEQ:0:result_uint8x8 [] = { ff, ff, ff, ff, ff, ff, ff, 0, } @@ -1190,6 +1200,11 @@ VCLE/VCLEQ:13:result_uint32x4 [] = { ffffffff, ffffffff, ffffffff, 0, } VCLE/VCLEQ:14:result_uint32x2 [] = { ffffffff, 0, } VCLE/VCLEQ:15:result_uint32x2 [] = { ffffffff, ffffffff, } VCLE/VCLEQ:16:result_uint32x2 [] = { ffffffff, 0, } +VCLE/VCLEQ FP special (NAN):17:result_uint32x2 [] = { 0, 0, } +VCLE/VCLEQ FP special (NAN):18:result_uint32x2 [] = { 0, 0, } +VCLE/VCLEQ FP special (inf):19:result_uint32x2 [] = { ffffffff, ffffffff, } +VCLE/VCLEQ FP special (inf):20:result_uint32x2 [] = { 0, 0, } +VCLE/VCLEQ FP special (-0.0):21:result_uint32x2 [] = { ffffffff, ffffffff, } VCGT/VCGTQ output: VCGT/VCGTQ:0:result_uint8x8 [] = { 0, 0, 0, 0, 0, 0, 0, ff, } @@ -1209,6 +1224,11 @@ VCGT/VCGTQ:13:result_uint32x4 [] = { 0, 0, 0, ffffffff, } VCGT/VCGTQ:14:result_uint32x2 [] = { 0, ffffffff, } VCGT/VCGTQ:15:result_uint32x2 [] = { 0, 0, } VCGT/VCGTQ:16:result_uint32x2 [] = { 0, ffffffff, } +VCGT/VCGTQ FP special (NAN):17:result_uint32x2 [] = { 0, 0, } +VCGT/VCGTQ FP special (NAN):18:result_uint32x2 [] = { 0, 0, } +VCGT/VCGTQ FP special (inf):19:result_uint32x2 [] = { 0, 0, } +VCGT/VCGTQ FP special (inf):20:result_uint32x2 [] = { ffffffff, ffffffff, } +VCGT/VCGTQ FP special (-0.0):21:result_uint32x2 [] = { 0, 0, } VCLT/VCLTQ output: VCLT/VCLTQ:0:result_uint8x8 [] = { ff, ff, ff, ff, ff, ff, 0, 0, } @@ -1228,6 +1248,11 @@ VCLT/VCLTQ:13:result_uint32x4 [] = { ffffffff, ffffffff, 0, 0, } VCLT/VCLTQ:14:result_uint32x2 [] = { 0, 0, } VCLT/VCLTQ:15:result_uint32x2 [] = { ffffffff, 0, } VCLT/VCLTQ:16:result_uint32x2 [] = { 0, 0, } +VCLT/VCLTQ FP special (NAN):17:result_uint32x2 [] = { 0, 0, } +VCLT/VCLTQ FP special (NAN):18:result_uint32x2 [] = { 0, 0, } +VCLT/VCLTQ FP special (inf):19:result_uint32x2 [] = { ffffffff, ffffffff, } +VCLT/VCLTQ FP special (inf):20:result_uint32x2 [] = { 0, 0, } +VCLT/VCLTQ FP special (-0.0):21:result_uint32x2 [] = { 0, 0, } VBSL/VBSLQ output: VBSL/VBSLQ:0:result_int8x8 [] = { fffffff2, fffffff2, fffffff2, fffffff2, fffffff6, fffffff6, fffffff6, fffffff6, } @@ -1869,6 +1894,26 @@ VRSHL/VRSHLQ:141:result_uint32x4 [] = { 0, 0, 0, 0, } VRSHL/VRSHLQ:142:result_uint64x2 [] = { 0, 0, } VRSHL/VRSHLQ:143:result_float32x4 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } +VRSHL/VRSHLQ (large negative shift amount) output: +VRSHL/VRSHLQ:144:result_int8x8 [] = { 0, 0, 0, 0, 0, 0, 0, 0, } +VRSHL/VRSHLQ:145:result_int16x4 [] = { 0, 0, 0, 0, } +VRSHL/VRSHLQ:146:result_int32x2 [] = { 0, 0, } +VRSHL/VRSHLQ:147:result_int64x1 [] = { 0, } +VRSHL/VRSHLQ:148:result_uint8x8 [] = { 0, 0, 0, 0, 0, 0, 0, 0, } +VRSHL/VRSHLQ:149:result_uint16x4 [] = { 0, 0, 0, 0, } +VRSHL/VRSHLQ:150:result_uint32x2 [] = { 0, 0, } +VRSHL/VRSHLQ:151:result_uint64x1 [] = { 0, } +VRSHL/VRSHLQ:152:result_float32x2 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } +VRSHL/VRSHLQ:153:result_int8x16 [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, } +VRSHL/VRSHLQ:154:result_int16x8 [] = { 0, 0, 0, 0, 0, 0, 0, 0, } +VRSHL/VRSHLQ:155:result_int32x4 [] = { 0, 0, 0, 0, } +VRSHL/VRSHLQ:156:result_int64x2 [] = { 0, 0, } +VRSHL/VRSHLQ:157:result_uint8x16 [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, } +VRSHL/VRSHLQ:158:result_uint16x8 [] = { 1, 1, 1, 1, 1, 1, 1, 1, } +VRSHL/VRSHLQ:159:result_uint32x4 [] = { 1, 1, 1, 1, } +VRSHL/VRSHLQ:160:result_uint64x2 [] = { 1, 1, } +VRSHL/VRSHLQ:161:result_float32x4 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } + VLD2/VLD2Q chunk 0 output: VLD2/VLD2Q:0:result_int8x8 [] = { fffffff0, fffffff1, fffffff2, fffffff3, fffffff4, fffffff5, fffffff6, fffffff7, } VLD2/VLD2Q:1:result_int16x4 [] = { fffffff0, fffffff1, fffffff2, fffffff3, } @@ -2362,6 +2407,10 @@ VMAX/VMAXQ:14:result_uint16x8 [] = { fff2, fff2, fff2, fff3, fff4, fff5, fff6, f VMAX/VMAXQ:15:result_uint32x4 [] = { fffffff1, fffffff1, fffffff2, fffffff3, } VMAX/VMAXQ:16:result_uint64x2 [] = { 3333333333333333, 3333333333333333, } VMAX/VMAXQ:17:result_float32x4 [] = { c1680000 -0x1.d000000p+3 -14.5, c1680000 -0x1.d000000p+3 -14.5, c1600000 -0x1.c000000p+3 -14, c1500000 -0x1.a000000p+3 -13, } +VMAX/VMAXQ FP special (NAN):18:result_float32x4 [] = { 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, } +VMAX/VMAXQ FP special (NAN):19:result_float32x4 [] = { 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, } +VMAX/VMAXQ FP special (-0.0):20:result_float32x4 [] = { 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, } +VMAX/VMAXQ FP special (-0.0):21:result_float32x4 [] = { 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, } VMIN/VMINQ output: VMIN/VMINQ:0:result_int8x8 [] = { fffffff0, fffffff1, fffffff2, fffffff3, fffffff3, fffffff3, fffffff3, fffffff3, } @@ -2382,6 +2431,10 @@ VMIN/VMINQ:14:result_uint16x8 [] = { fff0, fff1, fff2, fff2, fff2, fff2, fff2, f VMIN/VMINQ:15:result_uint32x4 [] = { fffffff0, fffffff1, fffffff1, fffffff1, } VMIN/VMINQ:16:result_uint64x2 [] = { 3333333333333333, 3333333333333333, } VMIN/VMINQ:17:result_float32x4 [] = { c1800000 -0x1.0000000p+4 -16, c1700000 -0x1.e000000p+3 -15, c1680000 -0x1.d000000p+3 -14.5, c1680000 -0x1.d000000p+3 -14.5, } +VMIN/VMINQ FP special (NAN):18:result_float32x4 [] = { 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, } +VMIN/VMINQ FP special (NAN):19:result_float32x4 [] = { 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, } +VMIN/VMINQ FP special (-0.0):20:result_float32x4 [] = { 80000000 -0x0.0000000p+0 -0, 80000000 -0x0.0000000p+0 -0, 80000000 -0x0.0000000p+0 -0, 80000000 -0x0.0000000p+0 -0, } +VMIN/VMINQ FP special (-0.0):21:result_float32x4 [] = { 80000000 -0x0.0000000p+0 -0, 80000000 -0x0.0000000p+0 -0, 80000000 -0x0.0000000p+0 -0, 80000000 -0x0.0000000p+0 -0, } VNEG/VNEGQ output: VNEG/VNEGQ:0:result_int8x8 [] = { 10, f, e, d, c, b, a, 9, } @@ -3457,6 +3510,158 @@ VQRSHL/VQRSHLQ:201:result_uint32x4 [] = { 20000000, 20000000, 20000000, 20000000 VQRSHL/VQRSHLQ:202:result_uint64x2 [] = { 2000000000000000, 2000000000000000, } VQRSHL/VQRSHLQ:203:result_float32x4 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } +VQRSHL/VQRSHLQ (checking overflow: large shift amount) overflow output: +VQRSHL/VQRSHLQ:204:vqrshl_s8 Neon overflow 1 +VQRSHL/VQRSHLQ:205:vqrshl_s16 Neon overflow 1 +VQRSHL/VQRSHLQ:206:vqrshl_s32 Neon overflow 1 +VQRSHL/VQRSHLQ:207:vqrshl_s64 Neon overflow 1 +VQRSHL/VQRSHLQ:208:vqrshl_u8 Neon overflow 1 +VQRSHL/VQRSHLQ:209:vqrshl_u16 Neon overflow 1 +VQRSHL/VQRSHLQ:210:vqrshl_u32 Neon overflow 1 +VQRSHL/VQRSHLQ:211:vqrshl_u64 Neon overflow 1 +VQRSHL/VQRSHLQ:212:vqrshlq_s8 Neon overflow 1 +VQRSHL/VQRSHLQ:213:vqrshlq_s16 Neon overflow 1 +VQRSHL/VQRSHLQ:214:vqrshlq_s32 Neon overflow 1 +VQRSHL/VQRSHLQ:215:vqrshlq_s64 Neon overflow 1 +VQRSHL/VQRSHLQ:216:vqrshlq_u8 Neon overflow 1 +VQRSHL/VQRSHLQ:217:vqrshlq_u16 Neon overflow 1 +VQRSHL/VQRSHLQ:218:vqrshlq_u32 Neon overflow 1 +VQRSHL/VQRSHLQ:219:vqrshlq_u64 Neon overflow 1 + +VQRSHL/VQRSHLQ (checking overflow: large shift amount) output: +VQRSHL/VQRSHLQ:220:result_int8x8 [] = { 7f, 7f, 7f, 7f, 7f, 7f, 7f, 7f, } +VQRSHL/VQRSHLQ:221:result_int16x4 [] = { 7fff, 7fff, 7fff, 7fff, } +VQRSHL/VQRSHLQ:222:result_int32x2 [] = { 7fffffff, 7fffffff, } +VQRSHL/VQRSHLQ:223:result_int64x1 [] = { 7fffffffffffffff, } +VQRSHL/VQRSHLQ:224:result_uint8x8 [] = { ff, ff, ff, ff, ff, ff, ff, ff, } +VQRSHL/VQRSHLQ:225:result_uint16x4 [] = { ffff, ffff, ffff, ffff, } +VQRSHL/VQRSHLQ:226:result_uint32x2 [] = { ffffffff, ffffffff, } +VQRSHL/VQRSHLQ:227:result_uint64x1 [] = { ffffffffffffffff, } +VQRSHL/VQRSHLQ:228:result_float32x2 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } +VQRSHL/VQRSHLQ:229:result_int8x16 [] = { 7f, 7f, 7f, 7f, 7f, 7f, 7f, 7f, 7f, 7f, 7f, 7f, 7f, 7f, 7f, 7f, } +VQRSHL/VQRSHLQ:230:result_int16x8 [] = { 7fff, 7fff, 7fff, 7fff, 7fff, 7fff, 7fff, 7fff, } +VQRSHL/VQRSHLQ:231:result_int32x4 [] = { 7fffffff, 7fffffff, 7fffffff, 7fffffff, } +VQRSHL/VQRSHLQ:232:result_int64x2 [] = { 7fffffffffffffff, 7fffffffffffffff, } +VQRSHL/VQRSHLQ:233:result_uint8x16 [] = { ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, } +VQRSHL/VQRSHLQ:234:result_uint16x8 [] = { ffff, ffff, ffff, ffff, ffff, ffff, ffff, ffff, } +VQRSHL/VQRSHLQ:235:result_uint32x4 [] = { ffffffff, ffffffff, ffffffff, ffffffff, } +VQRSHL/VQRSHLQ:236:result_uint64x2 [] = { ffffffffffffffff, ffffffffffffffff, } +VQRSHL/VQRSHLQ:237:result_float32x4 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } + +VQRSHL/VQRSHLQ (checking overflow: large shift amount with negative input) overflow output: +VQRSHL/VQRSHLQ:238:vqrshl_s8 Neon overflow 1 +VQRSHL/VQRSHLQ:239:vqrshl_s16 Neon overflow 1 +VQRSHL/VQRSHLQ:240:vqrshl_s32 Neon overflow 1 +VQRSHL/VQRSHLQ:241:vqrshl_s64 Neon overflow 1 +VQRSHL/VQRSHLQ:242:vqrshl_u8 Neon overflow 1 +VQRSHL/VQRSHLQ:243:vqrshl_u16 Neon overflow 1 +VQRSHL/VQRSHLQ:244:vqrshl_u32 Neon overflow 1 +VQRSHL/VQRSHLQ:245:vqrshl_u64 Neon overflow 1 +VQRSHL/VQRSHLQ:246:vqrshlq_s8 Neon overflow 1 +VQRSHL/VQRSHLQ:247:vqrshlq_s16 Neon overflow 1 +VQRSHL/VQRSHLQ:248:vqrshlq_s32 Neon overflow 1 +VQRSHL/VQRSHLQ:249:vqrshlq_s64 Neon overflow 1 +VQRSHL/VQRSHLQ:250:vqrshlq_u8 Neon overflow 1 +VQRSHL/VQRSHLQ:251:vqrshlq_u16 Neon overflow 1 +VQRSHL/VQRSHLQ:252:vqrshlq_u32 Neon overflow 1 +VQRSHL/VQRSHLQ:253:vqrshlq_u64 Neon overflow 1 + +VQRSHL/VQRSHLQ (checking overflow: large shift amount with negative input) output: +VQRSHL/VQRSHLQ:254:result_int8x8 [] = { ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, } +VQRSHL/VQRSHLQ:255:result_int16x4 [] = { ffff8000, ffff8000, ffff8000, ffff8000, } +VQRSHL/VQRSHLQ:256:result_int32x2 [] = { 80000000, 80000000, } +VQRSHL/VQRSHLQ:257:result_int64x1 [] = { 8000000000000000, } +VQRSHL/VQRSHLQ:258:result_uint8x8 [] = { ff, ff, ff, ff, ff, ff, ff, ff, } +VQRSHL/VQRSHLQ:259:result_uint16x4 [] = { ffff, ffff, ffff, ffff, } +VQRSHL/VQRSHLQ:260:result_uint32x2 [] = { ffffffff, ffffffff, } +VQRSHL/VQRSHLQ:261:result_uint64x1 [] = { ffffffffffffffff, } +VQRSHL/VQRSHLQ:262:result_float32x2 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } +VQRSHL/VQRSHLQ:263:result_int8x16 [] = { ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, ffffff80, } +VQRSHL/VQRSHLQ:264:result_int16x8 [] = { ffff8000, ffff8000, ffff8000, ffff8000, ffff8000, ffff8000, ffff8000, ffff8000, } +VQRSHL/VQRSHLQ:265:result_int32x4 [] = { 80000000, 80000000, 80000000, 80000000, } +VQRSHL/VQRSHLQ:266:result_int64x2 [] = { 8000000000000000, 8000000000000000, } +VQRSHL/VQRSHLQ:267:result_uint8x16 [] = { ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, ff, } +VQRSHL/VQRSHLQ:268:result_uint16x8 [] = { ffff, ffff, ffff, ffff, ffff, ffff, ffff, ffff, } +VQRSHL/VQRSHLQ:269:result_uint32x4 [] = { ffffffff, ffffffff, ffffffff, ffffffff, } +VQRSHL/VQRSHLQ:270:result_uint64x2 [] = { ffffffffffffffff, ffffffffffffffff, } +VQRSHL/VQRSHLQ:271:result_float32x4 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } + +VQRSHL/VQRSHLQ (checking overflow: large negative shift amount) overflow output: +VQRSHL/VQRSHLQ:272:vqrshl_s8 Neon overflow 0 +VQRSHL/VQRSHLQ:273:vqrshl_s16 Neon overflow 0 +VQRSHL/VQRSHLQ:274:vqrshl_s32 Neon overflow 0 +VQRSHL/VQRSHLQ:275:vqrshl_s64 Neon overflow 0 +VQRSHL/VQRSHLQ:276:vqrshl_u8 Neon overflow 0 +VQRSHL/VQRSHLQ:277:vqrshl_u16 Neon overflow 0 +VQRSHL/VQRSHLQ:278:vqrshl_u32 Neon overflow 0 +VQRSHL/VQRSHLQ:279:vqrshl_u64 Neon overflow 0 +VQRSHL/VQRSHLQ:280:vqrshlq_s8 Neon overflow 0 +VQRSHL/VQRSHLQ:281:vqrshlq_s16 Neon overflow 0 +VQRSHL/VQRSHLQ:282:vqrshlq_s32 Neon overflow 0 +VQRSHL/VQRSHLQ:283:vqrshlq_s64 Neon overflow 0 +VQRSHL/VQRSHLQ:284:vqrshlq_u8 Neon overflow 0 +VQRSHL/VQRSHLQ:285:vqrshlq_u16 Neon overflow 0 +VQRSHL/VQRSHLQ:286:vqrshlq_u32 Neon overflow 0 +VQRSHL/VQRSHLQ:287:vqrshlq_u64 Neon overflow 0 + +VQRSHL/VQRSHLQ (checking overflow: large negative shift amount) output: +VQRSHL/VQRSHLQ:288:result_int8x8 [] = { 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:289:result_int16x4 [] = { 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:290:result_int32x2 [] = { 0, 0, } +VQRSHL/VQRSHLQ:291:result_int64x1 [] = { 0, } +VQRSHL/VQRSHLQ:292:result_uint8x8 [] = { 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:293:result_uint16x4 [] = { 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:294:result_uint32x2 [] = { 0, 0, } +VQRSHL/VQRSHLQ:295:result_uint64x1 [] = { 0, } +VQRSHL/VQRSHLQ:296:result_float32x2 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } +VQRSHL/VQRSHLQ:297:result_int8x16 [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:298:result_int16x8 [] = { 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:299:result_int32x4 [] = { 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:300:result_int64x2 [] = { 0, 0, } +VQRSHL/VQRSHLQ:301:result_uint8x16 [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:302:result_uint16x8 [] = { 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:303:result_uint32x4 [] = { 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:304:result_uint64x2 [] = { 0, 0, } +VQRSHL/VQRSHLQ:305:result_float32x4 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } + +VQRSHL/VQRSHLQ (checking overflow: large shift amount with 0 input) overflow output: +VQRSHL/VQRSHLQ:306:vqrshl_s8 Neon overflow 0 +VQRSHL/VQRSHLQ:307:vqrshl_s16 Neon overflow 0 +VQRSHL/VQRSHLQ:308:vqrshl_s32 Neon overflow 0 +VQRSHL/VQRSHLQ:309:vqrshl_s64 Neon overflow 0 +VQRSHL/VQRSHLQ:310:vqrshl_u8 Neon overflow 0 +VQRSHL/VQRSHLQ:311:vqrshl_u16 Neon overflow 0 +VQRSHL/VQRSHLQ:312:vqrshl_u32 Neon overflow 0 +VQRSHL/VQRSHLQ:313:vqrshl_u64 Neon overflow 0 +VQRSHL/VQRSHLQ:314:vqrshlq_s8 Neon overflow 0 +VQRSHL/VQRSHLQ:315:vqrshlq_s16 Neon overflow 0 +VQRSHL/VQRSHLQ:316:vqrshlq_s32 Neon overflow 0 +VQRSHL/VQRSHLQ:317:vqrshlq_s64 Neon overflow 0 +VQRSHL/VQRSHLQ:318:vqrshlq_u8 Neon overflow 0 +VQRSHL/VQRSHLQ:319:vqrshlq_u16 Neon overflow 0 +VQRSHL/VQRSHLQ:320:vqrshlq_u32 Neon overflow 0 +VQRSHL/VQRSHLQ:321:vqrshlq_u64 Neon overflow 0 + +VQRSHL/VQRSHLQ (checking overflow: large shift amount with 0 input) output: +VQRSHL/VQRSHLQ:322:result_int8x8 [] = { 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:323:result_int16x4 [] = { 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:324:result_int32x2 [] = { 0, 0, } +VQRSHL/VQRSHLQ:325:result_int64x1 [] = { 0, } +VQRSHL/VQRSHLQ:326:result_uint8x8 [] = { 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:327:result_uint16x4 [] = { 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:328:result_uint32x2 [] = { 0, 0, } +VQRSHL/VQRSHLQ:329:result_uint64x1 [] = { 0, } +VQRSHL/VQRSHLQ:330:result_float32x2 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } +VQRSHL/VQRSHLQ:331:result_int8x16 [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:332:result_int16x8 [] = { 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:333:result_int32x4 [] = { 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:334:result_int64x2 [] = { 0, 0, } +VQRSHL/VQRSHLQ:335:result_uint8x16 [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:336:result_uint16x8 [] = { 0, 0, 0, 0, 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:337:result_uint32x4 [] = { 0, 0, 0, 0, } +VQRSHL/VQRSHLQ:338:result_uint64x2 [] = { 0, 0, } +VQRSHL/VQRSHLQ:339:result_float32x4 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } + VABA/VABAQ output: VABA/VABAQ:0:result_int8x8 [] = { fffffff6, fffffff7, fffffff8, fffffff9, fffffffa, fffffffb, fffffffc, fffffffd, } VABA/VABAQ:1:result_int16x4 [] = { 16, 17, 18, 19, } @@ -3497,6 +3702,26 @@ VABAL:15:result_uint32x4 [] = { 907, 908, 909, 90a, } VABAL:16:result_uint64x2 [] = { ffffffe7, ffffffe8, } VABAL:17:result_float32x4 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } +VABAL test intermediate overflow output: +VABAL:18:result_int8x8 [] = { 33, 33, 33, 33, 33, 33, 33, 33, } +VABAL:19:result_int16x4 [] = { 3333, 3333, 3333, 3333, } +VABAL:20:result_int32x2 [] = { 33333333, 33333333, } +VABAL:21:result_int64x1 [] = { 3333333333333333, } +VABAL:22:result_uint8x8 [] = { 33, 33, 33, 33, 33, 33, 33, 33, } +VABAL:23:result_uint16x4 [] = { 3333, 3333, 3333, 3333, } +VABAL:24:result_uint32x2 [] = { 33333333, 33333333, } +VABAL:25:result_uint64x1 [] = { 3333333333333333, } +VABAL:26:result_float32x2 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } +VABAL:27:result_int8x16 [] = { 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, } +VABAL:28:result_int16x8 [] = { ef, f0, f1, f2, f3, f4, f5, f6, } +VABAL:29:result_int32x4 [] = { ffef, fff0, fff1, fff2, } +VABAL:30:result_int64x2 [] = { ffffffef, fffffff0, } +VABAL:31:result_uint8x16 [] = { 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, } +VABAL:32:result_uint16x8 [] = { ee, ef, f0, f1, f2, f3, f4, f5, } +VABAL:33:result_uint32x4 [] = { ffe2, ffe3, ffe4, ffe5, } +VABAL:34:result_uint64x2 [] = { ffffffe7, ffffffe8, } +VABAL:35:result_float32x4 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } + VABD/VABDQ output: VABD/VABDQ:0:result_int8x8 [] = { 11, 10, f, e, d, c, b, a, } VABD/VABDQ:1:result_int16x4 [] = { 3, 2, 1, 0, } @@ -3516,6 +3741,8 @@ VABD/VABDQ:14:result_uint16x8 [] = { ffe4, ffe5, ffe6, ffe7, ffe8, ffe9, ffea, f VABD/VABDQ:15:result_uint32x4 [] = { ffffffd0, ffffffd1, ffffffd2, ffffffd3, } VABD/VABDQ:16:result_uint64x2 [] = { 3333333333333333, 3333333333333333, } VABD/VABDQ:17:result_float32x4 [] = { 42407ae1 0x1.80f5c20p+5 48.12, 423c7ae1 0x1.78f5c20p+5 47.12, 42387ae1 0x1.70f5c20p+5 46.12, 42347ae1 0x1.68f5c20p+5 45.12, } +VABD/VABDQ FP special (-0.0):18:result_float32x4 [] = { 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, } +VABD/VABDQ FP special (-0.0):19:result_float32x4 [] = { 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, 0 0x0.0000000p+0 0, } VABDL output: VABDL:0:result_int8x8 [] = { 33, 33, 33, 33, 33, 33, 33, 33, } @@ -4263,7 +4490,7 @@ VSRI_N:15:result_uint32x4 [] = { fffffe00, fffffe00, fffffe00, fffffe00, } VSRI_N:16:result_uint64x2 [] = { fffffffffffff800, fffffffffffff800, } VSRI_N:17:result_float32x4 [] = { 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, 33333333 0x1.6666660p-25 4.172325e-08, } -VSRI_Nmax shift amount output: +VSRI_N max shift amount output: VSRI_N:0:result_int8x8 [] = { fffffff0, fffffff1, fffffff2, fffffff3, fffffff4, fffffff5, fffffff6, fffffff7, } VSRI_N:1:result_int16x4 [] = { fffffff0, fffffff1, fffffff2, fffffff3, } VSRI_N:2:result_int32x2 [] = { fffffff0, fffffff1, } @@ -6067,10 +6294,34 @@ VRECPS/VRECPSQ output: VRECPS/VRECPSQ:0:result_float32x2 [] = { c2e19eb7 -0x1.c33d6e0p+6 -112.81, c2e19eb7 -0x1.c33d6e0p+6 -112.81, } VRECPS/VRECPSQ:1:result_float32x4 [] = { c1db851f -0x1.b70a3e0p+4 -27.44, c1db851f -0x1.b70a3e0p+4 -27.44, c1db851f -0x1.b70a3e0p+4 -27.44, c1db851f -0x1.b70a3e0p+4 -27.44, } +VRECPS/VRECPSQ FP special (NAN) and normal values output: +VRECPS/VRECPSQ:2:result_float32x2 [] = { 7fc00000 nan nan, 7fc00000 nan nan, } +VRECPS/VRECPSQ:3:result_float32x4 [] = { 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, } + +VRECPS/VRECPSQ FP special (infinity, 0) and normal values output: +VRECPS/VRECPSQ:4:result_float32x2 [] = { ff800000 -inf -inf, ff800000 -inf -inf, } +VRECPS/VRECPSQ:5:result_float32x4 [] = { 40000000 0x1.0000000p+1 2, 40000000 0x1.0000000p+1 2, 40000000 0x1.0000000p+1 2, 40000000 0x1.0000000p+1 2, } + +VRECPS/VRECPSQ FP special (infinity, 0) output: +VRECPS/VRECPSQ:6:result_float32x2 [] = { 40000000 0x1.0000000p+1 2, 40000000 0x1.0000000p+1 2, } +VRECPS/VRECPSQ:7:result_float32x4 [] = { 40000000 0x1.0000000p+1 2, 40000000 0x1.0000000p+1 2, 40000000 0x1.0000000p+1 2, 40000000 0x1.0000000p+1 2, } + VRSQRTS/VRSQRTSQ output: VRSQRTS/VRSQRTSQ:0:result_float32x2 [] = { c2796b84 -0x1.f2d7080p+5 -62.355, c2796b84 -0x1.f2d7080p+5 -62.355, } VRSQRTS/VRSQRTSQ:1:result_float32x4 [] = { c0e4a3d8 -0x1.c947b00p+2 -7.145, c0e4a3d8 -0x1.c947b00p+2 -7.145, c0e4a3d8 -0x1.c947b00p+2 -7.145, c0e4a3d8 -0x1.c947b00p+2 -7.145, } +VRSQRTS/VRSQRTSQ FP special (NAN) and normal values output: +VRSQRTS/VRSQRTSQ:2:result_float32x2 [] = { 7fc00000 nan nan, 7fc00000 nan nan, } +VRSQRTS/VRSQRTSQ:3:result_float32x4 [] = { 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, 7fc00000 nan nan, } + +VRSQRTS/VRSQRTSQ FP special (infinity, 0) and normal values output: +VRSQRTS/VRSQRTSQ:4:result_float32x2 [] = { ff800000 -inf -inf, ff800000 -inf -inf, } +VRSQRTS/VRSQRTSQ:5:result_float32x4 [] = { 3fc00000 0x1.8000000p+0 1.5, 3fc00000 0x1.8000000p+0 1.5, 3fc00000 0x1.8000000p+0 1.5, 3fc00000 0x1.8000000p+0 1.5, } + +VRSQRTS/VRSQRTSQ FP special (infinity, 0) output: +VRSQRTS/VRSQRTSQ:6:result_float32x2 [] = { 3fc00000 0x1.8000000p+0 1.5, 3fc00000 0x1.8000000p+0 1.5, } +VRSQRTS/VRSQRTSQ:7:result_float32x4 [] = { 3fc00000 0x1.8000000p+0 1.5, 3fc00000 0x1.8000000p+0 1.5, 3fc00000 0x1.8000000p+0 1.5, 3fc00000 0x1.8000000p+0 1.5, } + DSP (non-NEON) intrinsics qadd(0x1, 0x2) = 0x3 sat 0 |