< prev index next >

src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot.amd64/src/jdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory.java

Print this page




 107             features.add(AMD64.CPUFeature.AVX512DQ);
 108         }
 109         if ((config.vmVersionFeatures & config.amd64AVX512PF) != 0) {
 110             features.add(AMD64.CPUFeature.AVX512PF);
 111         }
 112         if ((config.vmVersionFeatures & config.amd64AVX512ER) != 0) {
 113             features.add(AMD64.CPUFeature.AVX512ER);
 114         }
 115         if ((config.vmVersionFeatures & config.amd64AVX512CD) != 0) {
 116             features.add(AMD64.CPUFeature.AVX512CD);
 117         }
 118         if ((config.vmVersionFeatures & config.amd64AVX512BW) != 0) {
 119             features.add(AMD64.CPUFeature.AVX512BW);
 120         }
 121         if ((config.vmVersionFeatures & config.amd64AVX512VL) != 0) {
 122             features.add(AMD64.CPUFeature.AVX512VL);
 123         }
 124         if ((config.vmVersionFeatures & config.amd64SHA) != 0) {
 125             features.add(AMD64.CPUFeature.SHA);
 126         }



 127         return features;
 128     }
 129 
 130     protected EnumSet<AMD64.Flag> computeFlags(AMD64HotSpotVMConfig config) {
 131         EnumSet<AMD64.Flag> flags = EnumSet.noneOf(AMD64.Flag.class);
 132         if (config.useCountLeadingZerosInstruction) {
 133             flags.add(AMD64.Flag.UseCountLeadingZerosInstruction);
 134         }
 135         if (config.useCountTrailingZerosInstruction) {
 136             flags.add(AMD64.Flag.UseCountTrailingZerosInstruction);
 137         }
 138         return flags;
 139     }
 140 
 141     protected TargetDescription createTarget(AMD64HotSpotVMConfig config) {
 142         final int stackFrameAlignment = 16;
 143         final int implicitNullCheckLimit = 4096;
 144         final boolean inlineObjects = true;
 145         Architecture arch = new AMD64(computeFeatures(config), computeFlags(config));
 146         return new TargetDescription(arch, true, stackFrameAlignment, implicitNullCheckLimit, inlineObjects);




 107             features.add(AMD64.CPUFeature.AVX512DQ);
 108         }
 109         if ((config.vmVersionFeatures & config.amd64AVX512PF) != 0) {
 110             features.add(AMD64.CPUFeature.AVX512PF);
 111         }
 112         if ((config.vmVersionFeatures & config.amd64AVX512ER) != 0) {
 113             features.add(AMD64.CPUFeature.AVX512ER);
 114         }
 115         if ((config.vmVersionFeatures & config.amd64AVX512CD) != 0) {
 116             features.add(AMD64.CPUFeature.AVX512CD);
 117         }
 118         if ((config.vmVersionFeatures & config.amd64AVX512BW) != 0) {
 119             features.add(AMD64.CPUFeature.AVX512BW);
 120         }
 121         if ((config.vmVersionFeatures & config.amd64AVX512VL) != 0) {
 122             features.add(AMD64.CPUFeature.AVX512VL);
 123         }
 124         if ((config.vmVersionFeatures & config.amd64SHA) != 0) {
 125             features.add(AMD64.CPUFeature.SHA);
 126         }
 127         if ((config.vmVersionFeatures & config.amd64FMA) != 0) {
 128             features.add(AMD64.CPUFeature.FMA);
 129         }
 130         return features;
 131     }
 132 
 133     protected EnumSet<AMD64.Flag> computeFlags(AMD64HotSpotVMConfig config) {
 134         EnumSet<AMD64.Flag> flags = EnumSet.noneOf(AMD64.Flag.class);
 135         if (config.useCountLeadingZerosInstruction) {
 136             flags.add(AMD64.Flag.UseCountLeadingZerosInstruction);
 137         }
 138         if (config.useCountTrailingZerosInstruction) {
 139             flags.add(AMD64.Flag.UseCountTrailingZerosInstruction);
 140         }
 141         return flags;
 142     }
 143 
 144     protected TargetDescription createTarget(AMD64HotSpotVMConfig config) {
 145         final int stackFrameAlignment = 16;
 146         final int implicitNullCheckLimit = 4096;
 147         final boolean inlineObjects = true;
 148         Architecture arch = new AMD64(computeFeatures(config), computeFlags(config));
 149         return new TargetDescription(arch, true, stackFrameAlignment, implicitNullCheckLimit, inlineObjects);


< prev index next >