1# XFAIL: system-windows 2# Darwin uses the legacy behavior of reporting abridged ftag value, 3# it is covered by TestRegisters.py::fp_special_purpose_register_read. 4# XFAIL: system-darwin 5# REQUIRES: native && target-x86 6# RUN: %clangxx_host -g %p/Inputs/x86-fp-read.cpp -o %t 7# RUN: %lldb -b -s %s %t | FileCheck %s 8process launch 9# CHECK: Process {{.*}} stopped 10 11# fdiv (%rbx) gets encoded into 2 bytes, int3 into 1 byte 12print (void*)($pc-3) 13# CHECK: (void *) $0 = [[FDIV:0x[0-9a-f]*]] 14print &zero 15# CHECK: (uint32_t *) $1 = [[ZERO:0x[0-9a-f]*]] 16 17register read --all 18# CHECK-DAG: fctrl = 0x037b 19# CHECK-DAG: fstat = 0x8084 20# CHECK-DAG: ftag = 0xea58 21# CHECK-DAG: fop = 0x0033 22# CHECK-DAG: fioff = [[FDIV]] 23# CHECK-DAG: fooff = [[ZERO]] 24 25# CHECK-DAG: st{{(mm)?}}0 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x40} 26# CHECK-DAG: st{{(mm)?}}1 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x3f 0x00 0x00} 27# CHECK-DAG: st{{(mm)?}}2 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00} 28# CHECK-DAG: st{{(mm)?}}3 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80} 29# CHECK-DAG: st{{(mm)?}}4 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0xff 0x7f} 30# CHECK-DAG: st{{(mm)?}}5 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0xff 0xff} 31# CHECK-DAG: st{{(mm)?}}6 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xc0 0xff 0xff} 32# CHECK-DAG: st{{(mm)?}}7 = {0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00} 33 34process continue 35# CHECK: Process {{[0-9]+}} exited with status = 0 36