< 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




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



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




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


< prev index next >