comparison graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXTestOp.java @ 11930:47a5e23bb418

Fix more PTX warnings.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Mon, 07 Oct 2013 03:12:05 +0200
parents 61767ccd4600
children 884bee435276
comparison
equal deleted inserted replaced
11929:b18d4089535d 11930:47a5e23bb418
22 */ 22 */
23 package com.oracle.graal.lir.ptx; 23 package com.oracle.graal.lir.ptx;
24 24
25 import static com.oracle.graal.asm.ptx.PTXAssembler.BooleanOperator.*; 25 import static com.oracle.graal.asm.ptx.PTXAssembler.BooleanOperator.*;
26 import static com.oracle.graal.asm.ptx.PTXAssembler.*; 26 import static com.oracle.graal.asm.ptx.PTXAssembler.*;
27 import static com.oracle.graal.api.code.ValueUtil.*;
28 import static com.oracle.graal.lir.LIRInstruction.OperandFlag.*; 27 import static com.oracle.graal.lir.LIRInstruction.OperandFlag.*;
29 28
30 import com.oracle.graal.api.meta.*; 29 import com.oracle.graal.api.meta.*;
31 import com.oracle.graal.asm.ptx.*; 30 import com.oracle.graal.asm.ptx.*;
32 import com.oracle.graal.graph.*;
33 import com.oracle.graal.lir.asm.*; 31 import com.oracle.graal.lir.asm.*;
34 import com.oracle.graal.nodes.calc.Condition; 32 import com.oracle.graal.nodes.calc.Condition;
35 33
36 public class PTXTestOp extends PTXLIRInstruction { 34 public class PTXTestOp extends PTXLIRInstruction {
37 35
45 this.predicate = predicate; 43 this.predicate = predicate;
46 } 44 }
47 45
48 @Override 46 @Override
49 public void emitCode(TargetMethodAssembler tasm, PTXAssembler masm) { 47 public void emitCode(TargetMethodAssembler tasm, PTXAssembler masm) {
50 emit(tasm, masm, x, y, predicate); 48 emit(masm, x, y, predicate);
51 } 49 }
52 50
53 @Override 51 @Override
54 protected void verify() { 52 protected void verify() {
55 super.verify(); 53 super.verify();
56 assert (x.getKind() == Kind.Int && 54 assert (x.getKind() == Kind.Int && y.getKind().getStackKind() == Kind.Int) || (x.getKind() == Kind.Long && y.getKind() == Kind.Long) : x + " " + y;
57 y.getKind().getStackKind() == Kind.Int) ||
58 (x.getKind() == Kind.Long && y.getKind() == Kind.Long) :
59 x + " " + y;
60 } 55 }
61 56
62 public static void emit(TargetMethodAssembler tasm, PTXAssembler masm, 57 public static void emit(PTXAssembler masm, Value x, Value y, int predicate) {
63 Value x, Value y, int predicate) {
64 /* 58 /*
65 * This is not yet quite right - as the result for the equivalent in 59 * This is not yet quite right - as the result for the equivalent in
66 * ControlPTXText.testIntegerTestBranch2I is wrong. 60 * ControlPTXText.testIntegerTestBranch2I is wrong.
67 */ 61 */
68 new Setp(Condition.EQ, AND, x, y, predicate).emit(masm); 62 new Setp(Condition.EQ, AND, x, y, predicate).emit(masm);