• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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