VirtualBox

Ignore:
Timestamp:
Oct 29, 2024 9:48:34 AM (6 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165655
Message:

Disassembler: Decode atomic memory operation instructions (FEAT_LSE, FEAT_LRCPC, FEAT_THE), bugref:10394

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Disassembler/testcase/tstDisasmArmv8-1-asm.S

    r106760 r106767  
    30903090        ;cnt   x0, x1  - Requires FEAT_CSSC
    30913091
     3092
     3093        ; Atomic memory operations
     3094
     3095        ldaddb w1,  w2,  [x0]
     3096        ldaddb wzr, wzr, [sp]
     3097
     3098        ldclrb w1,  w2,  [x0]
     3099        ldclrb wzr, wzr, [sp]
     3100
     3101        ldeorb w1,  w2,  [x0]
     3102        ldeorb wzr, wzr, [sp]
     3103
     3104        ldsetb w1,  w2,  [x0]
     3105        ldsetb wzr, wzr, [sp]
     3106
     3107        ldsmaxb w1,  w2,  [x0]
     3108        ldsmaxb wzr, wzr, [sp]
     3109
     3110        ldsminb w1,  w2,  [x0]
     3111        ldsminb wzr, wzr, [sp]
     3112
     3113        ldumaxb w1,  w2,  [x0]
     3114        ldumaxb wzr, wzr, [sp]
     3115
     3116        lduminb w1,  w2,  [x0]
     3117        lduminb wzr, wzr, [sp]
     3118
     3119        swpb w1,  w2,  [x0]
     3120        swpb wzr, wzr, [sp]
     3121
     3122        ;rcwclr x1,  x2,  [x0] - Requires FEAT_THE
     3123        ;rcwclr xzr, xzr, [sp] - Requires FEAT_THE
     3124
     3125        ;rcwswp x1,  x2,  [x0] - Requires FEAT_THE
     3126        ;rcwswp xzr, xzr, [sp] - Requires FEAT_THE
     3127
     3128        ;rcwset x1,  x2,  [x0] - Requires FEAT_THE
     3129        ;rcwset xzr, xzr, [sp] - Requires FEAT_THE
     3130
     3131        ldaddlb w1,  w2,  [x0]
     3132        ldaddlb wzr, wzr, [sp]
     3133
     3134        ldclrlb w1,  w2,  [x0]
     3135        ldclrlb wzr, wzr, [sp]
     3136
     3137        ldeorlb w1,  w2,  [x0]
     3138        ldeorlb wzr, wzr, [sp]
     3139
     3140        ldsetlb w1,  w2,  [x0]
     3141        ldsetlb wzr, wzr, [sp]
     3142
     3143        ldsmaxlb w1,  w2,  [x0]
     3144        ldsmaxlb wzr, wzr, [sp]
     3145
     3146        ldsminlb w1,  w2,  [x0]
     3147        ldsminlb wzr, wzr, [sp]
     3148
     3149        ldumaxlb w1,  w2,  [x0]
     3150        ldumaxlb wzr, wzr, [sp]
     3151
     3152        lduminlb w1,  w2,  [x0]
     3153        lduminlb wzr, wzr, [sp]
     3154
     3155        swplb w1,  w2,  [x0]
     3156        swplb wzr, wzr, [sp]
     3157
     3158        ;rcwclrl x1,  x2,  [x0] - Requires FEAT_THE
     3159        ;rcwclrl xzr, xzr, [sp] - Requires FEAT_THE
     3160
     3161        ;rcwswpl x1,  x2,  [x0] - Requires FEAT_THE
     3162        ;rcwswpl xzr, xzr, [sp] - Requires FEAT_THE
     3163
     3164        ;rcwsetl x1,  x2,  [x0] - Requires FEAT_THE
     3165        ;rcwsetl xzr, xzr, [sp] - Requires FEAT_THE
     3166
     3167        ldaddab w1,  w2,  [x0]
     3168        ldaddab wzr, wzr, [sp]
     3169
     3170        ldclrab w1,  w2,  [x0]
     3171        ldclrab wzr, wzr, [sp]
     3172
     3173        ldeorab w1,  w2,  [x0]
     3174        ldeorab wzr, wzr, [sp]
     3175
     3176        ldsetab w1,  w2,  [x0]
     3177        ldsetab wzr, wzr, [sp]
     3178
     3179        ldsmaxab w1,  w2,  [x0]
     3180        ldsmaxab wzr, wzr, [sp]
     3181
     3182        ldsminab w1,  w2,  [x0]
     3183        ldsminab wzr, wzr, [sp]
     3184
     3185        ldumaxab w1,  w2,  [x0]
     3186        ldumaxab wzr, wzr, [sp]
     3187
     3188        lduminab w1,  w2,  [x0]
     3189        lduminab wzr, wzr, [sp]
     3190
     3191        swpab w1,  w2,  [x0]
     3192        swpab wzr, wzr, [sp]
     3193
     3194        ;rcwclra x1,  x2,  [x0] - Requires FEAT_THE
     3195        ;rcwclra xzr, xzr, [sp] - Requires FEAT_THE
     3196
     3197        ;rcwswpa x1,  x2,  [x0] - Requires FEAT_THE
     3198        ;rcwswpa xzr, xzr, [sp] - Requires FEAT_THE
     3199
     3200        ;rcwseta x1,  x2,  [x0] - Requires FEAT_THE
     3201        ;rcwseta xzr, xzr, [sp] - Requires FEAT_THE
     3202
     3203        ldaprb w0, [x1]
     3204        ldaprb wzr, [sp]
     3205
     3206        ldaddalb w1,  w2,  [x0]
     3207        ldaddalb wzr, wzr, [sp]
     3208
     3209        ldclralb w1,  w2,  [x0]
     3210        ldclralb wzr, wzr, [sp]
     3211
     3212        ldeoralb w1,  w2,  [x0]
     3213        ldeoralb wzr, wzr, [sp]
     3214
     3215        ldsetalb w1,  w2,  [x0]
     3216        ldsetalb wzr, wzr, [sp]
     3217
     3218        ldsmaxalb w1,  w2,  [x0]
     3219        ldsmaxalb wzr, wzr, [sp]
     3220
     3221        ldsminalb w1,  w2,  [x0]
     3222        ldsminalb wzr, wzr, [sp]
     3223
     3224        ldumaxalb w1,  w2,  [x0]
     3225        ldumaxalb wzr, wzr, [sp]
     3226
     3227        lduminalb w1,  w2,  [x0]
     3228        lduminalb wzr, wzr, [sp]
     3229
     3230        swpalb w1,  w2,  [x0]
     3231        swpalb wzr, wzr, [sp]
     3232
     3233        ;rcwclral x1,  x2,  [x0] - Requires FEAT_THE
     3234        ;rcwclral xzr, xzr, [sp] - Requires FEAT_THE
     3235
     3236        ;rcwswpal x1,  x2,  [x0] - Requires FEAT_THE
     3237        ;rcwswpal xzr, xzr, [sp] - Requires FEAT_THE
     3238
     3239        ;rcwsetal x1,  x2,  [x0] - Requires FEAT_THE
     3240        ;rcwsetal xzr, xzr, [sp] - Requires FEAT_THE
     3241
     3242        ldaddh w1,  w2,  [x0]
     3243        ldaddh wzr, wzr, [sp]
     3244
     3245        ldclrh w1,  w2,  [x0]
     3246        ldclrh wzr, wzr, [sp]
     3247
     3248        ldeorh w1,  w2,  [x0]
     3249        ldeorh wzr, wzr, [sp]
     3250
     3251        ldseth w1,  w2,  [x0]
     3252        ldseth wzr, wzr, [sp]
     3253
     3254        ldsmaxh w1,  w2,  [x0]
     3255        ldsmaxh wzr, wzr, [sp]
     3256
     3257        ldsminh w1,  w2,  [x0]
     3258        ldsminh wzr, wzr, [sp]
     3259
     3260        ldumaxh w1,  w2,  [x0]
     3261        ldumaxh wzr, wzr, [sp]
     3262
     3263        lduminh w1,  w2,  [x0]
     3264        lduminh wzr, wzr, [sp]
     3265
     3266        swph w1,  w2,  [x0]
     3267        swph wzr, wzr, [sp]
     3268
     3269        ;rcwsclr x1,  x2,  [x0] - Requires FEAT_THE
     3270        ;rcwsclr xzr, xzr, [sp] - Requires FEAT_THE
     3271
     3272        ;rcwsswp x1,  x2,  [x0] - Requires FEAT_THE
     3273        ;rcwsswp xzr, xzr, [sp] - Requires FEAT_THE
     3274
     3275        ;rcwsset x1,  x2,  [x0] - Requires FEAT_THE
     3276        ;rcwsset xzr, xzr, [sp] - Requires FEAT_THE
     3277
     3278        ldaddlh w1,  w2,  [x0]
     3279        ldaddlh wzr, wzr, [sp]
     3280
     3281        ldclrlh w1,  w2,  [x0]
     3282        ldclrlh wzr, wzr, [sp]
     3283
     3284        ldeorlh w1,  w2,  [x0]
     3285        ldeorlh wzr, wzr, [sp]
     3286
     3287        ldsetlh w1,  w2,  [x0]
     3288        ldsetlh wzr, wzr, [sp]
     3289
     3290        ldsmaxlh w1,  w2,  [x0]
     3291        ldsmaxlh wzr, wzr, [sp]
     3292
     3293        ldsminlh w1,  w2,  [x0]
     3294        ldsminlh wzr, wzr, [sp]
     3295
     3296        ldumaxlh w1,  w2,  [x0]
     3297        ldumaxlh wzr, wzr, [sp]
     3298
     3299        lduminlh w1,  w2,  [x0]
     3300        lduminlh wzr, wzr, [sp]
     3301
     3302        swplh w1,  w2,  [x0]
     3303        swplh wzr, wzr, [sp]
     3304
     3305        ;rcwsclrl x1,  x2,  [x0] - Requires FEAT_THE
     3306        ;rcwsclrl xzr, xzr, [sp] - Requires FEAT_THE
     3307
     3308        ;rcwsswpl x1,  x2,  [x0] - Requires FEAT_THE
     3309        ;rcwsswpl xzr, xzr, [sp] - Requires FEAT_THE
     3310
     3311        ;rcwssetl x1,  x2,  [x0] - Requires FEAT_THE
     3312        ;rcwssetl xzr, xzr, [sp] - Requires FEAT_THE
     3313
     3314        ldaddah w1,  w2,  [x0]
     3315        ldaddah wzr, wzr, [sp]
     3316
     3317        ldclrah w1,  w2,  [x0]
     3318        ldclrah wzr, wzr, [sp]
     3319
     3320        ldeorah w1,  w2,  [x0]
     3321        ldeorah wzr, wzr, [sp]
     3322
     3323        ldsetah w1,  w2,  [x0]
     3324        ldsetah wzr, wzr, [sp]
     3325
     3326        ldsmaxah w1,  w2,  [x0]
     3327        ldsmaxah wzr, wzr, [sp]
     3328
     3329        ldsminah w1,  w2,  [x0]
     3330        ldsminah wzr, wzr, [sp]
     3331
     3332        ldumaxah w1,  w2,  [x0]
     3333        ldumaxah wzr, wzr, [sp]
     3334
     3335        lduminah w1,  w2,  [x0]
     3336        lduminah wzr, wzr, [sp]
     3337
     3338        swpah w1,  w2,  [x0]
     3339        swpah wzr, wzr, [sp]
     3340
     3341        ;rcwsclra x1,  x2,  [x0] - Requires FEAT_THE
     3342        ;rcwsclra xzr, xzr, [sp] - Requires FEAT_THE
     3343
     3344        ;rcwsswpa x1,  x2,  [x0] - Requires FEAT_THE
     3345        ;rcwsswpa xzr, xzr, [sp] - Requires FEAT_THE
     3346
     3347        ;rcwsseta x1,  x2,  [x0] - Requires FEAT_THE
     3348        ;rcwsseta xzr, xzr, [sp] - Requires FEAT_THE
     3349
     3350        ldaprh w0, [x1]
     3351        ldaprh wzr, [sp]
     3352
     3353        ldaddalh w1,  w2,  [x0]
     3354        ldaddalh wzr, wzr, [sp]
     3355
     3356        ldclralh w1,  w2,  [x0]
     3357        ldclralh wzr, wzr, [sp]
     3358
     3359        ldeoralh w1,  w2,  [x0]
     3360        ldeoralh wzr, wzr, [sp]
     3361
     3362        ldsetalh w1,  w2,  [x0]
     3363        ldsetalh wzr, wzr, [sp]
     3364
     3365        ldsmaxalh w1,  w2,  [x0]
     3366        ldsmaxalh wzr, wzr, [sp]
     3367
     3368        ldsminalh w1,  w2,  [x0]
     3369        ldsminalh wzr, wzr, [sp]
     3370
     3371        ldumaxalh w1,  w2,  [x0]
     3372        ldumaxalh wzr, wzr, [sp]
     3373
     3374        lduminalh w1,  w2,  [x0]
     3375        lduminalh wzr, wzr, [sp]
     3376
     3377        swpalh w1,  w2,  [x0]
     3378        swpalh wzr, wzr, [sp]
     3379
     3380        ;rcwsclral x1,  x2,  [x0] - Requires FEAT_THE
     3381        ;rcwsclral xzr, xzr, [sp] - Requires FEAT_THE
     3382
     3383        ;rcwsswpal x1,  x2,  [x0] - Requires FEAT_THE
     3384        ;rcwsswpal xzr, xzr, [sp] - Requires FEAT_THE
     3385
     3386        ;rcwssetal x1,  x2,  [x0] - Requires FEAT_THE
     3387        ;rcwssetal xzr, xzr, [sp] - Requires FEAT_THE
     3388
     3389        ldadd w1,  w2,  [x0]
     3390        ldadd wzr, wzr, [sp]
     3391        ldadd x1,  x2,  [x0]
     3392        ldadd xzr, xzr, [sp]
     3393
     3394        ldclr w1,  w2,  [x0]
     3395        ldclr wzr, wzr, [sp]
     3396        ldclr x1,  x2,  [x0]
     3397        ldclr xzr, xzr, [sp]
     3398
     3399        ldeor w1,  w2,  [x0]
     3400        ldeor wzr, wzr, [sp]
     3401        ldeor x1,  x2,  [x0]
     3402        ldeor xzr, xzr, [sp]
     3403
     3404        ldset w1,  w2,  [x0]
     3405        ldset wzr, wzr, [sp]
     3406        ldset x1,  x2,  [x0]
     3407        ldset xzr, xzr, [sp]
     3408
     3409        ldsmax w1,  w2,  [x0]
     3410        ldsmax wzr, wzr, [sp]
     3411        ldsmax x1,  x2,  [x0]
     3412        ldsmax xzr, xzr, [sp]
     3413
     3414        ldsmin w1,  w2,  [x0]
     3415        ldsmin wzr, wzr, [sp]
     3416        ldsmin x1,  x2,  [x0]
     3417        ldsmin xzr, xzr, [sp]
     3418
     3419        ldumax w1,  w2,  [x0]
     3420        ldumax wzr, wzr, [sp]
     3421        ldumax x1,  x2,  [x0]
     3422        ldumax xzr, xzr, [sp]
     3423
     3424        ldumin w1,  w2,  [x0]
     3425        ldumin wzr, wzr, [sp]
     3426        ldumin x1,  x2,  [x0]
     3427        ldumin xzr, xzr, [sp]
     3428
     3429        swp w1,  w2,  [x0]
     3430        swp wzr, wzr, [sp]
     3431        swp x1,  x2,  [x0]
     3432        swp xzr, xzr, [sp]
     3433
     3434        ldaddl w1,  w2,  [x0]
     3435        ldaddl wzr, wzr, [sp]
     3436        ldaddl x1,  x2,  [x0]
     3437        ldaddl xzr, xzr, [sp]
     3438
     3439        ldclrl w1,  w2,  [x0]
     3440        ldclrl wzr, wzr, [sp]
     3441        ldclrl x1,  x2,  [x0]
     3442        ldclrl xzr, xzr, [sp]
     3443
     3444        ldeorl w1,  w2,  [x0]
     3445        ldeorl wzr, wzr, [sp]
     3446        ldeorl x1,  x2,  [x0]
     3447        ldeorl xzr, xzr, [sp]
     3448
     3449        ldsetl w1,  w2,  [x0]
     3450        ldsetl wzr, wzr, [sp]
     3451        ldsetl x1,  x2,  [x0]
     3452        ldsetl xzr, xzr, [sp]
     3453
     3454        ldsmaxl w1,  w2,  [x0]
     3455        ldsmaxl wzr, wzr, [sp]
     3456        ldsmaxl x1,  x2,  [x0]
     3457        ldsmaxl xzr, xzr, [sp]
     3458
     3459        ldsminl w1,  w2,  [x0]
     3460        ldsminl wzr, wzr, [sp]
     3461        ldsminl x1,  x2,  [x0]
     3462        ldsminl xzr, xzr, [sp]
     3463
     3464        ldumaxl w1,  w2,  [x0]
     3465        ldumaxl wzr, wzr, [sp]
     3466        ldumaxl x1,  x2,  [x0]
     3467        ldumaxl xzr, xzr, [sp]
     3468
     3469        lduminl w1,  w2,  [x0]
     3470        lduminl wzr, wzr, [sp]
     3471        lduminl x1,  x2,  [x0]
     3472        lduminl xzr, xzr, [sp]
     3473
     3474        swpl w1,  w2,  [x0]
     3475        swpl wzr, wzr, [sp]
     3476        swpl x1,  x2,  [x0]
     3477        swpl xzr, xzr, [sp]
     3478
     3479        ldadda w1,  w2,  [x0]
     3480        ldadda wzr, wzr, [sp]
     3481        ldadda x1,  x2,  [x0]
     3482        ldadda xzr, xzr, [sp]
     3483
     3484        ldclra w1,  w2,  [x0]
     3485        ldclra wzr, wzr, [sp]
     3486        ldclra x1,  x2,  [x0]
     3487        ldclra xzr, xzr, [sp]
     3488
     3489        ldeora w1,  w2,  [x0]
     3490        ldeora wzr, wzr, [sp]
     3491        ldeora x1,  x2,  [x0]
     3492        ldeora xzr, xzr, [sp]
     3493
     3494        ldseta w1,  w2,  [x0]
     3495        ldseta wzr, wzr, [sp]
     3496        ldseta x1,  x2,  [x0]
     3497        ldseta xzr, xzr, [sp]
     3498
     3499        ldsmaxa w1,  w2,  [x0]
     3500        ldsmaxa wzr, wzr, [sp]
     3501        ldsmaxa x1,  x2,  [x0]
     3502        ldsmaxa xzr, xzr, [sp]
     3503
     3504        ldsmina w1,  w2,  [x0]
     3505        ldsmina wzr, wzr, [sp]
     3506        ldsmina x1,  x2,  [x0]
     3507        ldsmina xzr, xzr, [sp]
     3508
     3509        ldumaxa w1,  w2,  [x0]
     3510        ldumaxa wzr, wzr, [sp]
     3511        ldumaxa x1,  x2,  [x0]
     3512        ldumaxa xzr, xzr, [sp]
     3513
     3514        ldumina w1,  w2,  [x0]
     3515        ldumina wzr, wzr, [sp]
     3516        ldumina x1,  x2,  [x0]
     3517        ldumina xzr, xzr, [sp]
     3518
     3519        swpa w1,  w2,  [x0]
     3520        swpa wzr, wzr, [sp]
     3521        swpa x1,  x2,  [x0]
     3522        swpa xzr, xzr, [sp]
     3523
     3524        ldapr w0, [x1]
     3525        ldapr wzr, [sp]
     3526        ldapr x0, [x1]
     3527        ldapr xzr, [sp]
     3528
     3529        ldaddal w1,  w2,  [x0]
     3530        ldaddal wzr, wzr, [sp]
     3531        ldaddal x1,  x2,  [x0]
     3532        ldaddal xzr, xzr, [sp]
     3533
     3534        ldclral w1,  w2,  [x0]
     3535        ldclral wzr, wzr, [sp]
     3536        ldclral x1,  x2,  [x0]
     3537        ldclral xzr, xzr, [sp]
     3538
     3539        ldeoral w1,  w2,  [x0]
     3540        ldeoral wzr, wzr, [sp]
     3541        ldeoral x1,  x2,  [x0]
     3542        ldeoral xzr, xzr, [sp]
     3543
     3544        ldsetal w1,  w2,  [x0]
     3545        ldsetal wzr, wzr, [sp]
     3546        ldsetal x1,  x2,  [x0]
     3547        ldsetal xzr, xzr, [sp]
     3548
     3549        ldsmaxal w1,  w2,  [x0]
     3550        ldsmaxal wzr, wzr, [sp]
     3551        ldsmaxal x1,  x2,  [x0]
     3552        ldsmaxal xzr, xzr, [sp]
     3553
     3554        ldsminal w1,  w2,  [x0]
     3555        ldsminal wzr, wzr, [sp]
     3556        ldsminal x1,  x2,  [x0]
     3557        ldsminal xzr, xzr, [sp]
     3558
     3559        ldumaxal w1,  w2,  [x0]
     3560        ldumaxal wzr, wzr, [sp]
     3561        ldumaxal x1,  x2,  [x0]
     3562        ldumaxal xzr, xzr, [sp]
     3563
     3564        lduminal w1,  w2,  [x0]
     3565        lduminal wzr, wzr, [sp]
     3566        lduminal x1,  x2,  [x0]
     3567        lduminal xzr, xzr, [sp]
     3568
     3569        swpal w1,  w2,  [x0]
     3570        swpal wzr, wzr, [sp]
     3571        swpal x1,  x2,  [x0]
     3572        swpal xzr, xzr, [sp]
     3573
    30923574        ;
    30933575        ; Keep last so the testcase can catch errors in
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette