If you want to achieve this with flexbox you can do the following:
Create a class modifier for Bootstrap's row class.
.row--flex {
  display: flex; /* Creates a flex container. */
  flex-wrap: wrap; /* Wrap columns, now flex-items. */
}
Since Bootstrap's  col-* classes already set a different width percentage for each viewport using media queries and our flex-container has flex-direction: row; by default, you will not need to define a flex-basis on flex-items, here's why.
Then you remove the floats, because they are not needed anymore:
.row--flex [class^="col-"],
.row--flex [class*="col-"] {
  float: none;
}
Finally you use a selector in the element with the col-* class you want to move.
We will use the class col-order-* as a selector.
Move the second column down changing its order property value to 1 and you're done.
The CSS order property specifies the order used to lay out flex items
  in their flex container.
The default order value in flex-items is 0, that's why using any value higher than that will work. 
CSS:
.col-order-1 {
  order: 1;
}
HTML:
<div class="container">
  <div class="row row--flex">
    <div class="col-xs-12 col-sm-6">col-sm-6</div>
    <div class="col-xs-12 col-sm-12 col-order-1">col-sm-12</div>
    <div class="col-xs-12 col-sm-6">col-sm-6</div>
  </div>
Code Snippet:
.row--flex {
  display: flex;
  flex-wrap: wrap;
}
.row--flex [class^="col-"],
.row--flex [class*="col-"] {
  float: none;
}
.col-order-1 {
  order: 1;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
  <div class="row row--flex">
    <div class="col-xs-12 col-sm-6">col-sm-6</div>
    <div class="col-xs-12 col-sm-12 col-order-1">col-sm-12</div>
    <div class="col-xs-12 col-sm-6">col-sm-6</div>
  </div>
</div>
 
 
Edit:
If you want this only applied to extra small screens, declare the col-order-* class inside a media query.
Example:
@media (max-width: 480px) {
  .col-xs-order-1 {
    order: 1;
  }
}
Code Snippet:
.row--flex {
  display: flex;
  flex-wrap: wrap;
}
.row--flex [class^="col-"],
.row--flex [class*="col-"] {
  float: none;
}
@media (max-width: 480px) {
  .col-xs-order-1 {
    order: 1;
  }
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
  <div class="row row--flex">
    <div class="col-xs-12 col-sm-6">col-sm-6</div>
    <div class="col-xs-12 col-sm-12 col-xs-order-1">col-sm-12</div>
    <div class="col-xs-12 col-sm-6">col-sm-6</div>
  </div>
</div>