00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00150 #error The Vector Abstraction Layer documentation header is not to be included
00151
00152
00153
00154
00155
00156
00157
00166 #define RC_VEC_HINT_CMPGT
00167
00171 #define RC_VEC_HINT_CMPGE
00172
00176 #define RC_VEC_HINT_AVGT
00177
00181 #define RC_VEC_HINT_AVGR
00182
00186 #define RC_VEC_HINT_GETMASKW
00187
00191 #define RC_VEC_HINT_GETMASKV
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00211 typedef arch_vector_t rc_vec_t;
00212
00218 #define RC_VEC_SIZE
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00239 #define RC_VEC_DECLARE()
00240
00245 #define RC_VEC_CLEANUP()
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00269 #define RC_VEC_LOAD(vec, ptr)
00270
00279 #define RC_VEC_STORE(ptr, vec)
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00309 #define RC_VEC_LDINIT(vec1, vec2, vec3, uptr, ptr)
00310
00325 #define RC_VEC_LOADU(dstv, vec1, vec2, vec3, uptr)
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00349 #define RC_VEC_SHINIT(shv, bytes)
00350
00358 #define RC_VEC_SHL(dstv, srcv, shv)
00359
00367 #define RC_VEC_SHR(dstv, srcv, shv)
00368
00376 #define RC_VEC_SHLC(dstv, srcv, bytes)
00377
00385 #define RC_VEC_SHRC(dstv, srcv, bytes)
00386
00398 #define RC_VEC_ALIGNC(dstv, srcv1, srcv2, bytes)
00399
00409 #define RC_VEC_PACK(dstv, srcv1, srcv2)
00410
00411
00412
00413
00414
00415
00416
00417
00418
00419
00431 #define RC_VEC_ZERO(vec)
00432
00440 #define RC_VEC_NOT(dstv, srcv)
00441
00450 #define RC_VEC_AND(dstv, srcv1, srcv2)
00451
00460 #define RC_VEC_OR(dstv, srcv1, srcv2)
00461
00470 #define RC_VEC_XOR(dstv, srcv1, srcv2)
00471
00480 #define RC_VEC_ANDNOT(dstv, srcv1, srcv2)
00481
00490 #define RC_VEC_ORNOT(dstv, srcv1, srcv2)
00491
00500 #define RC_VEC_XORNOT(dstv, srcv1, srcv2)
00501
00502
00503
00504
00505
00506
00507
00508
00509
00510
00523 #define RC_VEC_SPLAT(vec, scal)
00524
00533 #define RC_VEC_ADDS(dstv, srcv1, srcv2)
00534
00543 #define RC_VEC_AVGT(dstv, srcv1, srcv2)
00544
00549 #define RC_VEC_AVGR(dstv, srcv1, srcv2)
00550
00560 #define RC_VEC_AVGZ(dstv, srcv1, srcv2)
00561
00570 #define RC_VEC_SUBS(dstv, srcv1, srcv2)
00571
00580 #define RC_VEC_SUBA(dstv, srcv1, srcv2)
00581
00590 #define RC_VEC_SUBHT(dstv, srcv1, srcv2)
00591
00600 #define RC_VEC_SUBHR(dstv, srcv1, srcv2)
00601
00610 #define RC_VEC_ABS(dstv, srcv)
00611
00622 #define RC_VEC_CMPGT(dstv, srcv1, srcv2)
00623
00634 #define RC_VEC_CMPGE(dstv, srcv1, srcv2)
00635
00644 #define RC_VEC_MIN(dstv, srcv1, srcv2)
00645
00654 #define RC_VEC_MAX(dstv, srcv1, srcv2)
00655
00662 #define RC_VEC_BLEND(blendv, blend8)
00663
00675 #define RC_VEC_LERP(dstv, srcv1, srcv2, blend8, blendv)
00676
00683 #define RC_VEC_BLENDZ(blendv, blend8)
00684
00697 #define RC_VEC_LERPZ(dstv, srcv1, srcv2, blend8, blendv)
00698
00705 #define RC_VEC_BLENDN(blendv, blend8)
00706
00719 #define RC_VEC_LERPN(dstv, srcv1, srcv2, blend8, blendv)
00720
00721
00722
00723
00724
00725
00726
00727
00728
00729
00744 #define RC_VEC_GETMASKW(maskw, vec)
00745
00755 #define RC_VEC_GETMASKV(maskv, vec)
00756
00768 #define RC_VEC_SETMASKV(vec, maskv)
00769
00770
00771
00772
00773
00774
00775
00776
00777
00778
00792 #define RC_VEC_CNTN
00793
00800 #define RC_VEC_CNTV(accv, srcv)
00801
00808 #define RC_VEC_CNTR(cnt, accv)
00809
00818 #define RC_VEC_SUMN
00819
00826 #define RC_VEC_SUMV(accv, srcv)
00827
00834 #define RC_VEC_SUMR(sum, accv)
00835
00844 #define RC_VEC_MACN
00845
00853 #define RC_VEC_MACV(accv, srcv1, srcv2)
00854
00861 #define RC_VEC_MACR(mac, accv)
00862
00863
00864