Skip to content
  • José María Casanova Crespo's avatar
    i965: Add support for control register · ac8d4734
    José María Casanova Crespo authored
    
    
    Control register cr0 in i965 can be used to change the rounding modes
    in 32-bit to 16-bit floating-point conversions.
    
    From intel Skylake PRM, vol 07, section "Register and Tegister Regions",
     subsection "Control Register" (page 754):
    
    "Subregister cr0.0:ud contains normal operation control fields such as the
     floating-point mode ... "
    
    Floating-point Rounding mode is changed at bits 5:4 of cr0.0:
    
    "Rounding Mode. This field specifies the FPU rounding mode. It is
    initialized by Thread Dispatch."
      00b = Round to Nearest or Even (RTNE)
      01b = Round Up, toward +inf (RU)
      10b = Round Down, toward -inf (RD)
      11b = Round Toward Zero (RTZ)"
    
    Reviewed-by: default avatarJason Ekstrand <jason@jlekstrand.net>
    ac8d4734