1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project%default {"is_double":"1","nanval":"1"} 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project%verify "executed" 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project%verify "basic lt, gt, eq" 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project%verify "left arg NaN" 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project%verify "right arg NaN" 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /* float/double_cmp[gl] vAA, vBB, vCC */ 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project movzbl 3(rPC),%eax # eax<- CC 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project movzbl 2(rPC),%ecx # ecx<- BB 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .if $is_double 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fldl (rFP,%eax,4) 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fldl (rFP,%ecx,4) 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .else 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project flds (rFP,%eax,4) 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project flds (rFP,%ecx,4) 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .endif 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project xorl %ecx,%ecx 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fucompp # z if equal, p set if NaN, c set if st0 < st1 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fnstsw %ax 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project sahf 20a7d59bbafea5430fe81fc21ba94ddf6f6a63b0b3buzbee FETCH_INST_OPCODE 2 %eax 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jp .L${opcode}_isNaN 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project je .L${opcode}_finish 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project sbbl %ecx,%ecx 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jb .L${opcode}_finish 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project incl %ecx 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project.L${opcode}_finish: 27a7d59bbafea5430fe81fc21ba94ddf6f6a63b0b3buzbee SET_VREG %ecx rINST 28f3e177289ac078f18401cfd8eebafe584dd0d01fbuzbee ADVANCE_PC 2 29a7d59bbafea5430fe81fc21ba94ddf6f6a63b0b3buzbee GOTO_NEXT_R %eax 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project.L${opcode}_isNaN: 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project movl $$$nanval,%ecx 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jmp .L${opcode}_finish 34