Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/test/aarch64/LongLogicTests.java
32282 views
public class LongLogicTests {12private static final long IMM = 0xf0f0f0f0f0f0f0f0L;3private static final long NO_IMM = 0x123456d5123456d5L;4private static long test_and(long a, long b) {5return a & b;6}78private static long test_andc1(long a) {9// Generates immediate instruction.10return a & IMM;11}1213private static long test_andc2(long a) {14// Generates non-immediate instruction.15return a & NO_IMM;16}1718private static long test_or(long a, long b) {19return a | b;20}2122private static long test_orc1(long a) {23// Generates immediate instruction.24return a | IMM;25}2627private static long test_orc2(long a) {28// Generates non-immediate instruction.29return a | NO_IMM;30}3132private static long test_xor(long a, long b) {33return a ^ b;34}3536private static long test_xorc1(long a) {37// Generates immediate instruction.38return a ^ IMM;39}4041private static long test_xorc2(long a) {42// Generates non-immediate instruction.43return a ^ NO_IMM;44}4546private static void assertThat(boolean assertion) {47if (! assertion) {48throw new AssertionError();49}50}5152public static void main(String[] args) {5354assertThat(test_and(0x21, 0x31) == 0x21);55assertThat(test_andc1(0xaaaaaaaaaaaaaaaaL) == 0xa0a0a0a0a0a0a0a0L);56assertThat(test_andc2(0xaaaaaaaaaaaaaaaaL) == 0x0220028002200280L);5758assertThat(test_or(0x21, 0x31) == 0x31);59assertThat(test_orc1(0xaaaaaaaaaaaaaaaaL) == 0xfafafafafafafafaL);60assertThat(test_orc2(0xaaaaaaaaaaaaaaaaL) == 0xbabefeffbabefeffL);6162assertThat(test_xor(0x21, 0x31) == 16);63assertThat(test_xorc1(0xaaaaaaaaaaaaaaaaL) == 0x5a5a5a5a5a5a5a5aL);64assertThat(test_xorc2(0xaaaaaaaaaaaaaaaaL) == 0xb89efc7fb89efc7fL);65}66}676869