Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: test/cctest/test-assembler-arm64.cc

Issue 1276113002: Security: disable nontemporals. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/x87/disasm-x87.cc ('k') | test/cctest/test-disasm-arm64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 2952 matching lines...) Expand 10 before | Expand all | Expand 10 after
2963 CHECK_EQUAL_64(0xffeeddccbbaa9988UL, dst[6]); 2963 CHECK_EQUAL_64(0xffeeddccbbaa9988UL, dst[6]);
2964 CHECK_EQUAL_64(src_base - base_offset, x20); 2964 CHECK_EQUAL_64(src_base - base_offset, x20);
2965 CHECK_EQUAL_64(dst_base - base_offset, x21); 2965 CHECK_EQUAL_64(dst_base - base_offset, x21);
2966 CHECK_EQUAL_64(src_base + base_offset + 24, x18); 2966 CHECK_EQUAL_64(src_base + base_offset + 24, x18);
2967 CHECK_EQUAL_64(dst_base + base_offset + 56, x19); 2967 CHECK_EQUAL_64(dst_base + base_offset + 56, x19);
2968 2968
2969 TEARDOWN(); 2969 TEARDOWN();
2970 } 2970 }
2971 2971
2972 2972
2973 TEST(ldnp_stnp_offset) {
2974 INIT_V8();
2975 SETUP();
2976
2977 uint64_t src[3] = {0x0011223344556677UL, 0x8899aabbccddeeffUL,
2978 0xffeeddccbbaa9988UL};
2979 uint64_t dst[7] = {0, 0, 0, 0, 0, 0, 0};
2980 uintptr_t src_base = reinterpret_cast<uintptr_t>(src);
2981 uintptr_t dst_base = reinterpret_cast<uintptr_t>(dst);
2982
2983 START();
2984 __ Mov(x16, src_base);
2985 __ Mov(x17, dst_base);
2986 __ Mov(x18, src_base + 24);
2987 __ Mov(x19, dst_base + 56);
2988 __ Ldnp(w0, w1, MemOperand(x16));
2989 __ Ldnp(w2, w3, MemOperand(x16, 4));
2990 __ Ldnp(x4, x5, MemOperand(x16, 8));
2991 __ Ldnp(w6, w7, MemOperand(x18, -12));
2992 __ Ldnp(x8, x9, MemOperand(x18, -16));
2993 __ Stnp(w0, w1, MemOperand(x17));
2994 __ Stnp(w2, w3, MemOperand(x17, 8));
2995 __ Stnp(x4, x5, MemOperand(x17, 16));
2996 __ Stnp(w6, w7, MemOperand(x19, -24));
2997 __ Stnp(x8, x9, MemOperand(x19, -16));
2998 END();
2999
3000 RUN();
3001
3002 CHECK_EQUAL_64(0x44556677, x0);
3003 CHECK_EQUAL_64(0x00112233, x1);
3004 CHECK_EQUAL_64(0x0011223344556677UL, dst[0]);
3005 CHECK_EQUAL_64(0x00112233, x2);
3006 CHECK_EQUAL_64(0xccddeeff, x3);
3007 CHECK_EQUAL_64(0xccddeeff00112233UL, dst[1]);
3008 CHECK_EQUAL_64(0x8899aabbccddeeffUL, x4);
3009 CHECK_EQUAL_64(0x8899aabbccddeeffUL, dst[2]);
3010 CHECK_EQUAL_64(0xffeeddccbbaa9988UL, x5);
3011 CHECK_EQUAL_64(0xffeeddccbbaa9988UL, dst[3]);
3012 CHECK_EQUAL_64(0x8899aabb, x6);
3013 CHECK_EQUAL_64(0xbbaa9988, x7);
3014 CHECK_EQUAL_64(0xbbaa99888899aabbUL, dst[4]);
3015 CHECK_EQUAL_64(0x8899aabbccddeeffUL, x8);
3016 CHECK_EQUAL_64(0x8899aabbccddeeffUL, dst[5]);
3017 CHECK_EQUAL_64(0xffeeddccbbaa9988UL, x9);
3018 CHECK_EQUAL_64(0xffeeddccbbaa9988UL, dst[6]);
3019 CHECK_EQUAL_64(src_base, x16);
3020 CHECK_EQUAL_64(dst_base, x17);
3021 CHECK_EQUAL_64(src_base + 24, x18);
3022 CHECK_EQUAL_64(dst_base + 56, x19);
3023
3024 TEARDOWN();
3025 }
3026
3027
3028 TEST(ldp_stp_preindex) { 2973 TEST(ldp_stp_preindex) {
3029 INIT_V8(); 2974 INIT_V8();
3030 SETUP(); 2975 SETUP();
3031 2976
3032 uint64_t src[3] = {0x0011223344556677UL, 0x8899aabbccddeeffUL, 2977 uint64_t src[3] = {0x0011223344556677UL, 0x8899aabbccddeeffUL,
3033 0xffeeddccbbaa9988UL}; 2978 0xffeeddccbbaa9988UL};
3034 uint64_t dst[5] = {0, 0, 0, 0, 0}; 2979 uint64_t dst[5] = {0, 0, 0, 0, 0};
3035 uintptr_t src_base = reinterpret_cast<uintptr_t>(src); 2980 uintptr_t src_base = reinterpret_cast<uintptr_t>(src);
3036 uintptr_t dst_base = reinterpret_cast<uintptr_t>(dst); 2981 uintptr_t dst_base = reinterpret_cast<uintptr_t>(dst);
3037 2982
(...skipping 8349 matching lines...) Expand 10 before | Expand all | Expand 10 after
11387 __ Mov(x0, 1); 11332 __ Mov(x0, 1);
11388 11333
11389 END(); 11334 END();
11390 11335
11391 RUN(); 11336 RUN();
11392 11337
11393 CHECK_EQUAL_64(0x1, x0); 11338 CHECK_EQUAL_64(0x1, x0);
11394 11339
11395 TEARDOWN(); 11340 TEARDOWN();
11396 } 11341 }
OLDNEW
« no previous file with comments | « src/x87/disasm-x87.cc ('k') | test/cctest/test-disasm-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698