1418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager// Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file 2418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager// for details. All rights reserved. Use of this source code is governed by a 3418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager// BSD-style license that can be found in the LICENSE file. 4418d1ca139ea11316113beafbb3b3dd3fd5587aMads Agerpackage com.android.tools.r8.code; 5418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 6418d1ca139ea11316113beafbb3b3dd3fd5587aMads Agerimport com.android.tools.r8.ir.code.NumericType; 7418d1ca139ea11316113beafbb3b3dd3fd5587aMads Agerimport com.android.tools.r8.ir.conversion.IRBuilder; 8418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 9418d1ca139ea11316113beafbb3b3dd3fd5587aMads Agerpublic class OrInt2Addr extends Format12x { 10418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 11418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public static final int OPCODE = 0xb6; 12418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public static final String NAME = "OrInt2Addr"; 13418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public static final String SMALI_NAME = "or-int/2addr"; 14418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 15418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager OrInt2Addr(int high, BytecodeStream stream) { 16418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager super(high, stream); 17418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager } 18418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 19418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public OrInt2Addr(int left, int right) { 20418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager super(left, right); 21418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager } 22418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 23418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public String getName() { 24418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager return NAME; 25418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager } 26418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 27418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public String getSmaliName() { 28418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager return SMALI_NAME; 29418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager } 30418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 31418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public int getOpcode() { 32418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager return OPCODE; 33418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager } 34418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 35418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager @Override 36418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public void buildIR(IRBuilder builder) { 37418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager builder.addOr(NumericType.INT, A, A, B); 38418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager } 39418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager} 40