14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 25 package org.graalvm.compiler.replacements.aarch64; 26 27 import static org.graalvm.compiler.replacements.StandardGraphBuilderPlugins.registerPlatformSpecificUnsafePlugins; 28 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.COS; 29 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.EXP; 30 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.LOG; 31 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.LOG10; 32 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.SIN; 33 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.TAN; 34 import static org.graalvm.compiler.serviceprovider.GraalServices.JAVA_SPECIFICATION_VERSION; 35 import static org.graalvm.compiler.serviceprovider.GraalServices.Java11OrEarlier; 36 import static org.graalvm.compiler.serviceprovider.GraalServices.Java8OrEarlier; 37 38 import org.graalvm.compiler.bytecode.BytecodeProvider; 39 import org.graalvm.compiler.lir.aarch64.AArch64ArithmeticLIRGeneratorTool.RoundingMode; 40 import org.graalvm.compiler.nodes.ValueNode; 41 import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins; 42 import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext; 43 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin; 44 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin.Receiver; 45 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins; 46 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.Registration; 47 import org.graalvm.compiler.nodes.java.AtomicReadAndAddNode; 48 import org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode; 49 import org.graalvm.compiler.nodes.memory.address.AddressNode; 50 import org.graalvm.compiler.nodes.memory.address.OffsetAddressNode; 51 import org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode; 52 import org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode; 53 import org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation; 54 import jdk.internal.vm.compiler.word.LocationIdentity; 55 56 import jdk.vm.ci.meta.JavaKind; | 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 25 package org.graalvm.compiler.replacements.aarch64; 26 27 import static org.graalvm.compiler.replacements.StandardGraphBuilderPlugins.registerPlatformSpecificUnsafePlugins; 28 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.COS; 29 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.EXP; 30 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.LOG; 31 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.LOG10; 32 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.SIN; 33 import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.TAN; 34 import static org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPECIFICATION_VERSION; 35 import static org.graalvm.compiler.serviceprovider.JavaVersionUtil.Java11OrEarlier; 36 import static org.graalvm.compiler.serviceprovider.JavaVersionUtil.Java8OrEarlier; 37 38 import org.graalvm.compiler.bytecode.BytecodeProvider; 39 import org.graalvm.compiler.lir.aarch64.AArch64ArithmeticLIRGeneratorTool.RoundingMode; 40 import org.graalvm.compiler.nodes.ValueNode; 41 import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins; 42 import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext; 43 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin; 44 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin.Receiver; 45 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins; 46 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.Registration; 47 import org.graalvm.compiler.nodes.java.AtomicReadAndAddNode; 48 import org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode; 49 import org.graalvm.compiler.nodes.memory.address.AddressNode; 50 import org.graalvm.compiler.nodes.memory.address.OffsetAddressNode; 51 import org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode; 52 import org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode; 53 import org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation; 54 import jdk.internal.vm.compiler.word.LocationIdentity; 55 56 import jdk.vm.ci.meta.JavaKind; |