• Emilio G. Cota's avatar
    target/aarch64: optimize indirect branches · e75449a3
    Emilio G. Cota authored
    Measurements:
    
    [Baseline performance is that before applying this and the previous commit]
    
    -                                    NBench, aarch64-softmmu. Host: Intel i7-4790K @ 4.00GHz
    
     1.7x +-+--------------------------------------------------------------------------------------------------------------+-+
          |                                                                                                                  |
          |   cross                                                                                                          |
     1.6x +cross+jr.................................................####...................................................+-+
          |                                                         #++#                                                     |
          |                                                         #  #                                                     |
     1.5x +-+...................................................*****..#...................................................+-+
          |                                                     *+++*  #                                                     |
          |                                                     *   *  #                                                     |
     1.4x +-+...................................................*...*..#...................................................+-+
          |                                                     *   *  #                                                     |
          |                                     #####           *   *  #                                                     |
     1.3x +-+................................****+++#...........*...*..#...................................................+-+
          |                                  *++*   #           *   *  #                                                     |
          |                                  *  *   #           *   *  #                                                     |
     1.2x +-+................................*..*...#...........*...*..#...................................................+-+
          |                                  *  *   #           *   *  #                                                     |
          |                            ####  *  *   #           *   *  #                                                     |
     1.1x +-+.......................+++#..#..*..*...#...........*...*..#...................................................+-+
          |                         ****  #  *  *   #           *   *  #                                        ****####     |
          |                         *  *  #  *  *   #           *   *  #  ****###   +++####            ****###  *  *   #     |
       1x +-++-++++++-++++****###++-*++*++#++*++*+-+#++****+++++*+++*++#++*++*-+#++*****++#++****###-++*++*-+#++*+-*+++#+-++-+
          |     *****###  *  *  #   *  *  #  *  *   #  *++*###  *   *  #  *  *  #  *   *  #  *  *++#   *  *  #  *  *   #     |
          |     *   *++#  *  *  #   *  *  #  *  *   #  *  *  #  *   *  #  *  *  #  *   *  #  *  *  #   *  *  #  *  *   #     |
     0.9x +-+---*****###--****###---****###--****####--****###--*****###--****###--*****###--****###---****###--****####---+-+
          ASSIGNMENT BITFIELD   FOURFP EMULATION   HUFFMAN   LU DECOMPOSITIONNEURAL NUMERIC SORSTRING SORT    hmean
      png: http://imgur.com/qO9ubtk
    NB. cross here represents the previous commit.
    
    -                            SPECint06 (test set), aarch64-linux-user. Host: Intel i7-4790K @ 4.00GHz
    
     1.5x +-+--------------------------------------------------------------------------------------------------------------+-+
          |                                                                       *****                                      |
          |                                                                       *+++*                           jr         |
          |                                                                       *   *                                      |
     1.4x +-+.....................................................................*...*.....................+++............+-+
          |                                                                       *   *                      |               |
          |                                      *****                            *   *                      |               |
          |                                      *   *                            *   *                    *****             |
     1.3x +-+....................................*...*............................*...*....................*.|.*...........+-+
          |                       +++            *   *                            *   *                    * | *             |
          |                      *****           *   *                            *   *                    *+++*             |
          |                      *   *           *   *                            *   *                    *   *             |
     1.2x +-+....................*...*...........*...*............................*...*...........*****....*...*...........+-+
          |     *****            *   *           *   *                            *   *           *   *    *   *    +++      |
          |     *   *            *   *           *   *                            *   *           *   *    *   *   *****     |
          |     *   *            *   *   *****   *   *                            *   *           *   *    *   *   *   *     |
     1.1x +-+...*...*............*...*...*...*...*...*............................*...*....+++....*...*....*...*...*...*...+-+
          |     *   *            *   *   *   *   *   *                            *   *   *****   *   *    *   *   *   *     |
          |     *   *            *   *   *   *   *   *   *****                    *   *   *   *   *   *    *   *   *   *     |
          |     *   *   *****    *   *   *   *   *   *   *   *   ******           *   *   *   *   *   *    *   *   *   *     |
       1x +-++-+*+++*-++*+++*++++*+-+*+++*-++*+++*-++*+++*+++*++-*++++*-++*****+++*++-*+++*++-*+++*+-+*++++*+++*++-*+++*+-++-+
          |     *   *   *   *    *   *   *   *   *   *   *   *   *    *   *+++*   *   *   *   *   *   *    *   *   *   *     |
          |     *   *   *   *    *   *   *   *   *   *   *   *   *    *   *   *   *   *   *   *   *   *    *   *   *   *     |
          |     *   *   *   *    *   *   *   *   *   *   *   *   *    *   *   *   *   *   *   *   *   *    *   *   *   *     |
     0.9x +-+---*****---*****----*****---*****---*****---*****---******---*****---*****---*****---*****----*****---*****---+-+
             astar   bzip2      gcc   gobmk h264ref   hmmlibquantum      mcf omnetpperlbench   sjengxalancbmk   hmean
      png: http://imgur.com/3Dp4vvq
    
    -                           SPECint06 (train set), aarch64-linux-user. Host: Intel i7-4790K @ 4.00GHz
    
     1.7x +-+--------------------------------------------------------------------------------------------------------------+-+
          |                                                                                                                  |
          |                                                                                                       jr         |
     1.6x +-+...............................................................................................+++............+-+
          |                                                                                                *****             |
          |                                                                                                *+++*             |
          |                                                                                                *   *             |
     1.5x +-+..............................................................................................*...*...........+-+
          |                                                                        +++                     *   *             |
          |                                                                       *****                    *   *             |
     1.4x +-+.....................................................................*+++*....................*...*...........+-+
          |                                                                       *   *                    *   *             |
          |                                      *****                            *   *                    *   *             |
          |                                      *   *                            *   *   *****            *   *             |
     1.3x +-+....................................*...*............................*...*...*...*............*...*...........+-+
          |                       +++            *   *                            *   *   *   *            *   *             |
          |                      *****           *   *                            *   *   *   *   *****    *   *             |
     1.2x +-+....................*...*...........*...*............................*...*...*...*...*+++*....*...*...*****...+-+
          |                      *   *           *   *                            *   *   *   *   *   *    *   *   *+++*     |
          |     *****            *   *   *****   *   *                            *   *   *   *   *   *    *   *   *   *     |
          |     *   *            *   *   *+++*   *   *                            *   *   *   *   *   *    *   *   *   *     |
     1.1x +-+...*...*............*...*...*...*...*...*............................*...*...*...*...*...*....*...*...*...*...+-+
          |     *   *   *****    *   *   *   *   *   *                    *****   *   *   *   *   *   *    *   *   *   *     |
          |     *   *   *   *    *   *   *   *   *   *    +++    ******   *+++*   *   *   *   *   *   *    *   *   *   *     |
       1x +-+---*****---*****----*****---*****---*****---*****---******---*****---*****---*****---*****----*****---*****---+-+
             astar   bzip2      gcc   gobmk h264ref   hmmlibquantum      mcf omnetpperlbench   sjengxalancbmk   hmean
      png: http://imgur.com/vRrdc9jSigned-off-by: 's avatarEmilio G. Cota <cota@braap.org>
    Signed-off-by: 's avatarRichard Henderson <rth@twiddle.net>
    e75449a3
translate-a64.c 353 KB